Esempio n. 1
0
 def __download(self, url, loaded_schemata, options):
     """Download the schema."""
     try:
         reader = DocumentReader(options)
         d = reader.open(url)
         root = d.root()
         root.set("url", url)
         return self.schema.instance(root, url, loaded_schemata, options)
     except TransportError:
         msg = "import schema (%s) at (%s), failed" % (self.ns[1], url)
         log.error("%s, %s", self.id, msg, exc_info=True)
         raise Exception(msg)
Esempio n. 2
0
    def download(self, options):
        """ download the schema """
        try:
            reader = DocumentReader(options)
            d = yield reader.open(self.url)
            root = d.root()
            root.set('url', self.url)

            schema = yield self.build_schema(root, options)
            defer.returnValue(schema)
        except TransportError:
            msg = 'imported schema (%s) at (%s), failed' % (self.ns[1], self.url)
            log.error('%s, %s', self.id, msg, exc_info=True)
            raise Exception(msg)
Esempio n. 3
0
 def download(self, options):
     """ download the schema """
     url = self.location
     try:
         if '://' not in url:
             url = urljoin(self.schema.baseurl, url)
         reader = DocumentReader(options)
         d = reader.open(url)
         root = d.root()
         root.set('url', url)
         return self.schema.instance(root, url, options)
     except TransportError:
         msg = 'imported schema (%s) at (%s), failed' % (self.ns[1], url)
         log.error('%s, %s', self.id, msg, exc_info=True)
         raise Exception(msg)
Esempio n. 4
0
 def download(self, options):
     """ download the schema """
     url = self.location
     try:
         if "://" not in url:
             url = urljoin(self.schema.baseurl, url)
         reader = DocumentReader(options)
         d = reader.open(url)
         root = d.root()
         root.set("url", url)
         return self.schema.instance(root, url, options)
     except TransportError:
         msg = "imported schema (%s) at (%s), failed" % (self.ns[1], url)
         log.error("%s, %s", self.id, msg, exc_info=True)
         raise Exception(msg)
Esempio n. 5
0
 def download(self, options):
     """ download the schema """
     url = self.location
     try:
         if '://' not in url:
             url = urljoin(self.schema.baseurl, url)
         reader = DocumentReader(options)
         d = reader.open(url)
         root = d.root()
         root.set('url', url)
         self.__applytns(root)
         return self.schema.instance(root, url, options)
     except TransportError:
         msg = 'include schema at (%s), failed' % url
         log.error('%s, %s', self.id, msg, exc_info=True)
         raise Exception(msg)
Esempio n. 6
0
 def download(self):
     """ download the schema """
     url = self.location
     try:
         if '://' not in url:
             url = urljoin(self.schema.baseurl, url)
         reader = DocumentReader(self.schema.options)
         d = reader.open(url)
         root = d.root()
         root.set('url', url)
         self.__applytns(root)
         return self.schema.instance(root, url)
     except TransportError:
         msg = 'include schema at (%s), failed' % url
         log.error('%s, %s', self.id, msg, exc_info=True)
         raise Exception(msg)
Esempio n. 7
0
 def download(self, options):
     """Download the schema."""
     url = self.location
     try:
         if "://" not in url:
             url = urljoin(self.schema.baseurl, url)
         reader = DocumentReader(options)
         d = reader.open(url)
         root = d.root()
         root.set("url", url)
         self.__applytns(root)
         return self.schema.instance(root, url, options)
     except TransportError:
         msg = "include schema at (%s), failed" % url
         log.error("%s, %s", self.id, msg, exc_info=True)
         raise Exception(msg)
Esempio n. 8
0
 def __init__(self, url, options, already_imported=None):
     """
     @param url: A URL to the WSDL.
     @type url: str
     @param options: An options dictionary.
     @type options: L{options.Options}
     @param already_imported: The list of urls of already imported wsdls
     @type already_imported: list of strings
     """
     log.debug('reading wsdl at: %s ...', url)
     if not already_imported:
         top_level = True
         already_imported = [url]
     else:
         top_level = False
     reader = DocumentReader(options)
     d = reader.open(url)
     root = d.root()
     WObject.__init__(self, root)
     self.id = objid(self)
     self.options = options
     self.url = url
     self.tns = self.mktns(root)
     self.types = []
     self.schema = None
     self.children = []
     self.imports = []
     self.messages = {}
     self.port_types = {}
     self.bindings = {}
     self.services = []
     self.add_children(self.root)
     pmd = self.__metadata__.__print__
     pmd.excludes.append('children')
     pmd.excludes.append('wsdl')
     pmd.wrappers['schema'] = repr
     self.open_imports(already_imported)
     if not top_level:
         return
     self.children.sort()
     self.resolve()
     self.build_schema()
     self.set_wrapped()
     for s in self.services:
         self.add_methods(s)
     log.debug("wsdl at '%s' loaded:\n%s", url, self)
Esempio n. 9
0
 def build(self):
     log.debug('reading wsdl at: %s ...', self.url)
     reader = DocumentReader(self.options)
     d = yield reader.open(self.url)
     root = d.root()
     WObject.__init__(self, root)
     self.root = root
     self.tns = self.mktns(root)
     self.add_children(self.root)
     self.children.sort()
     yield self.open_imports()
     self.resolve()
     yield self.build_schema()
     self.set_wrapped()
     for s in self.services:
         self.add_methods(s)
     log.debug("wsdl at '%s' loaded:\n%s", self.url, self)
Esempio n. 10
0
 def build(self):
     log.debug('reading wsdl at: %s ...', self.url)
     reader = DocumentReader(self.options)
     d = yield reader.open(self.url)
     root = d.root()
     WObject.__init__(self, root)
     self.root = root
     self.tns = self.mktns(root)
     self.add_children(self.root)
     self.children.sort()
     yield self.open_imports()
     self.resolve()
     yield self.build_schema()
     self.set_wrapped()
     for s in self.services:
         self.add_methods(s)
     log.debug("wsdl at '%s' loaded:\n%s", self.url, self)
Esempio n. 11
0
    def __init__(self, url, options, imported_definitions=None):
        """
        @param url: A URL to the WSDL.
        @type url: str
        @param options: An options dictionary.
        @type options: L{options.Options}

        """
        log.debug("reading WSDL at: %s ...", url)
        reader = DocumentReader(options)
        d = reader.open(url)
        root = d.root()
        WObject.__init__(self, root)
        self.id = objid(self)
        self.options = options
        self.url = url
        self.tns = self.mktns(root)
        self.types = []
        self.schema = None
        self.children = []
        self.imports = []
        self.messages = {}
        self.port_types = {}
        self.bindings = {}
        self.services = []
        self.add_children(self.root)
        self.children.sort()
        pmd = self.__metadata__.__print__
        pmd.excludes.append("children")
        pmd.excludes.append("wsdl")
        pmd.wrappers["schema"] = repr
        if imported_definitions is None:
            imported_definitions = {}
        imported_definitions[url] = self
        self.open_imports(imported_definitions)
        self.resolve()
        self.build_schema()
        self.set_wrapped()
        for s in self.services:
            self.add_methods(s)
        log.debug("WSDL at '%s' loaded:\n%s", url, self)
Esempio n. 12
0
    def __init__(self, url, options):
        """
        @param url: A URL to the WSDL.
        @type url: str
        @param options: An options dictionary.
        @type options: L{options.Options}
        """
        log.debug('reading wsdl at: %s ...', url)
        reader = DocumentReader(options)
        d = reader.open(url)
        root = d.root()
        WObject.__init__(self, root)
        self.id = objid(self)
        self.options = options
        self.url = url
        self.tns = self.mktns(root)
        self.types = []
        self.schema = None
        self.children = []
        self.imports = []
        self.messages = {}
        self.port_types = {}
        self.bindings = {}
        self.services = []
        self.add_children(self.root)
        self.children.sort()
        pmd = self.__metadata__.__print__
        pmd.excludes.append('children')
        pmd.excludes.append('wsdl')
        pmd.wrappers['schema'] = repr
        self.open_imports()
        self.resolve()
        self.build_schema()
        self.set_wrapped()
        for s in self.services:
            self.add_methods(s)
        log.debug("wsdl at '%s' loaded:\n%s", url, self)

        # Reset schema recursion
        Schema.PROCESSED_IMPORT_DEPTH = {}
        Schema.PROCESSED_IMPORTS_CACHE = {}
Esempio n. 13
0
    def __init__(self, url, options):
        """
        @param url: A URL to the WSDL.
        @type url: str
        @param options: An options dictionary.
        @type options: L{options.Options}
        """
        log.debug('reading wsdl at: %s ...', url)
        reader = DocumentReader(options)
        d = reader.open(url)
        root = d.root()
        WObject.__init__(self, root)
        self.id = objid(self)
        self.options = options
        self.url = url
        self.tns = self.mktns(root)
        self.types = []
        self.schema = None
        self.children = []
        self.imports = []
        self.messages = {}
        self.port_types = {}
        self.bindings = {}
        self.services = []
        self.add_children(self.root)
        self.children.sort()
        pmd = self.__metadata__.__print__
        pmd.excludes.append('children')
        pmd.excludes.append('wsdl')
        pmd.wrappers['schema'] = repr
        self.open_imports()
        self.resolve()
        self.build_schema()
        self.set_wrapped()
        for s in self.services:
            self.add_methods(s)
        log.debug("wsdl at '%s' loaded:\n%s", url, self)

        # Reset schema recursion
        Schema.PROCESSED_IMPORT_DEPTH = {}
        Schema.PROCESSED_IMPORTS_CACHE = {}
Esempio n. 14
0
    def __init__(self, url, options, imported_definitions=None):
        """
        @param url: A URL to the WSDL.
        @type url: str
        @param options: An options dictionary.
        @type options: L{options.Options}

        """
        log.debug("reading WSDL at: %s ...", url)
        reader = DocumentReader(options)
        d = reader.open(url)
        root = d.root()
        WObject.__init__(self, root)
        self.id = objid(self)
        self.options = options
        self.url = url
        self.tns = self.mktns(root)
        self.types = []
        self.schema = None
        self.children = []
        self.imports = []
        self.messages = {}
        self.port_types = {}
        self.bindings = {}
        self.services = []
        self.add_children(self.root)
        self.children.sort()
        pmd = self.__metadata__.__print__
        pmd.excludes.append("children")
        pmd.excludes.append("wsdl")
        pmd.wrappers["schema"] = repr
        if imported_definitions is None:
            imported_definitions = {}
        imported_definitions[url] = self
        self.open_imports(imported_definitions)
        self.resolve()
        self.build_schema()
        self.set_wrapped()
        for s in self.services:
            self.add_methods(s)
        log.debug("WSDL at '%s' loaded:\n%s", url, self)