Beispiel #1
0
    def fromWsdl(self, service, **kw):
        self.imports.setTypesModuleName(self.typesModuleName)
#        if self.separate_messages:
#            self.messagesImports.setMessagesModuleName(self.messagesModuleName)
        self.imports.appendImport(kw.get('imports', []))

        self.locator.setUp(service)

        try:
            bindings =  [p.binding for p in service.ports]
        except:
            warnings.warn('not all ports have binding declared,')
            bindings = ()

        for port in service.ports:
            if port.binding not in bindings:
                continue
            while port.binding in bindings:
                bindings.remove(port.binding)

            desc = BindingDescription(useWSA=self.wsAddressing,
                                      do_extended=self.do_extended,
                                      wsdl=self._wsdl)
            try:
                desc.setUp(port.getBinding())
            except Wsdl2PythonError as ex:
                self.logger.warning('Skipping port(%s)' %port.name)
                if len(ex.args):
                    self.logger.warning(ex.args[0])
                continue

            desc.setReaderClass(kw.get('readerclass'))
            desc.setWriterClass(kw.get('writerclass'))
            for soc in desc.operations:
                if soc.hasInput() is True:
                    mw = MessageWriter(do_extended=self.do_extended)
                    mw.setUp(soc, port, input=True)
                    self.messages.append(mw)

                    if soc.hasOutput() is True:
                        mw = MessageWriter(do_extended=self.do_extended)
                        mw.setUp(soc, port, input=False)
                        self.messages.append(mw)

            self.bindings.append(desc)
Beispiel #2
0
    def fromWsdl(self, service, **kw):
        self.imports.setTypesModuleName(self.typesModuleName)
#        if self.separate_messages:
#            self.messagesImports.setMessagesModuleName(self.messagesModuleName)
        self.imports.appendImport(kw.get('imports', []))

        self.locator.setUp(service)

        try:
            bindings =  [p.binding for p in service.ports]
        except:
            warnings.warn('not all ports have binding declared,')
            bindings = ()

        for port in service.ports:
            if port.binding not in bindings:
                continue
            while port.binding in bindings:
                bindings.remove(port.binding)

            desc = BindingDescription(useWSA=self.wsAddressing,
                                      do_extended=self.do_extended,
                                      wsdl=self._wsdl)
            try:
                desc.setUp(port.getBinding())
            except Wsdl2PythonError, ex:
                self.logger.warning('Skipping port(%s)' %port.name)
                if len(ex.args):
                    self.logger.warning(ex.args[0])
                continue

            desc.setReaderClass(kw.get('readerclass'))
            desc.setWriterClass(kw.get('writerclass'))
            for soc in desc.operations:
                if soc.hasInput() is True:
                    mw = MessageWriter(do_extended=self.do_extended)
                    mw.setUp(soc, port, input=True)
                    self.messages.append(mw)

                    if soc.hasOutput() is True:
                        mw = MessageWriter(do_extended=self.do_extended)
                        mw.setUp(soc, port, input=False)
                        self.messages.append(mw)

            self.bindings.append(desc)