[Fedora-suds-list] Error with Suds: error: suds.TypeNotFound: Type not found: 'BETRIEB'
Matt C
mcauthorn at gmail.com
Fri Nov 20 13:11:06 UTC 2009
Try modifying the attribute of this type, then passing it in. From an
iPython console and your wsdl:
In [5]: c.factory.create('ETBSRV2-BETRWS-BETRIEB_EING')
Out[5]:
(ETBSRV2-BETRWS-BETRIEB_EING){
P_KNR_E = None
P_ISN_E = None
P_NAME-1_E = None
P_NAME-2_E = None
P_NAME-3_E = None
P_STRASSE_E = None
P_HAUSNR_E = None
P_PLZ_E = None
P_ORT_E = None
}
So try and set the appropriate attribute, as opposed to the actual
object itself. e.g., BETRIEB_EING = "0101010001" is likely to be
something like:
BETRIEB_EING.P_NAME-2_E = "0101010001"
Instead (of course I am randomly guessing that the P_NAME-2_E
attribute is the one you want to set here :).
HTH,
-Matt
On Fri, Nov 20, 2009 at 7:23 AM, Christian Klinger
<goschtl at googlemail.com> wrote:
> Hi
>
> i try to access a soap service with this script:
>
> from suds.client import Client
>
> def ga():
> client = Client('http://ws_mub_prod:8080/BETRWS.wsdl')
> print client
> BETRIEB_EING = client.factory.create('ETBSRV2-BETRWS-BETRIEB_EING')
> BETRIEB_EING = "0101010001"
> result = client.service.BETRWS(BETRIEB_EING)
> print result
>
> The result/traceback of this script is this:
>
> svcdrupanet01:/tmp/sudstest # bin/python sd.py
>
> Suds ( https://fedorahosted.org/suds/ ) version: 0.3.7 GA build:
> R580-20091016
>
> Service ( BETRWS ) tns="http://namespaces.softwareag.com/entirex/xml/me"
> Prefixes (1)
> ns0 = "http://namespaces.softwareag.com/entirex/xml/me"
> Ports (1):
> (ETBSRV2Port)
> Methods (1):
> BETRWS(ETBSRV2-BETRWS-BETRIEB_EING BETRIEB_EING, )
> Types (2):
> ETBSRV2-BETRWS-Array
> ETBSRV2-BETRWS-BETRIEB_EING
>
>
> No handlers could be found for logger "suds.umx.typed"
> Traceback (most recent call last):
> File "sd.py", line 11, in ?
> print ga()
> File "sd.py", line 8, in ga
> result = client.service.BETRWS(BETRIEB_EING)
> File "/tmp/sudstest/suds/suds/client.py", line 535, in __call__
> return client.invoke(args, kwargs)
> File "/tmp/sudstest/suds/suds/client.py", line 595, in invoke
> result = self.send(msg)
> File "/tmp/sudstest/suds/suds/client.py", line 624, in send
> result = self.succeeded(binding, reply.message)
> File "/tmp/sudstest/suds/suds/client.py", line 656, in succeeded
> r, p = binding.get_reply(self.method, reply)
> File "/tmp/sudstest/suds/suds/bindings/binding.py", line 149, in get_reply
> result = self.replycomposite(rtypes, nodes)
> File "/tmp/sudstest/suds/suds/bindings/binding.py", line 206, in
> replycomposite
> sobject = unmarshaller.process(node, resolved)
> File "/tmp/sudstest/suds/suds/umx/typed.py", line 57, in process
> return Core.process(self, content)
> File "/tmp/sudstest/suds/suds/umx/core.py", line 48, in process
> data, result = self.append(content)
> File "/tmp/sudstest/suds/suds/umx/core.py", line 64, in append
> self.append_children(content)
> File "/tmp/sudstest/suds/suds/umx/core.py", line 141, in append_children
> cdata, cval = self.append(cont)
> File "/tmp/sudstest/suds/suds/umx/core.py", line 64, in append
> self.append_children(content)
> File "/tmp/sudstest/suds/suds/umx/core.py", line 141, in append_children
> cdata, cval = self.append(cont)
> File "/tmp/sudstest/suds/suds/umx/core.py", line 62, in append
> self.start(content)
> File "/tmp/sudstest/suds/suds/umx/typed.py", line 71, in start
> raise TypeNotFound(content.node.qname())
> suds.TypeNotFound: Type not found: 'BETRIEB'
>
>
> And here is the wsdl file:
>
> <?xml version='1.0' ?>
> <!-- Generated 13.09.2004 14:02:50 by Software AG SOAP Toolkit Wizard,
> Version 1.1 -->
> <definitions name='ETBSRV2'
> targetNamespace='http://namespaces.softwareag.com/entirex/xml/me'
> xmlns='http://schemas.xmlsoap.org/wsdl/'
> xmlns:xsd='http://www.w3.org/2001/XMLSchema'
> xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
> xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
> xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'
> xmlns:tns='http://namespaces.softwareag.com/entirex/xml/me'
>>
> <types>
> <schema targetNamespace='http://namespaces.softwareag.com/entirex/xml/me'
> xmlns='http://www.w3.org/2001/XMLSchema'>
> <xsd:complexType name='ETBSRV2-BETRWS-BETRIEB_EING'>
> <xsd:sequence>
> <xsd:element name='P_KNR_E' type='xsd:string'/>
> <xsd:element name='P_ISN_E' type='xsd:decimal'/>
> <xsd:element name='P_NAME-1_E' type='xsd:string'/>
> <xsd:element name='P_NAME-2_E' type='xsd:string'/>
> <xsd:element name='P_NAME-3_E' type='xsd:string'/>
> <xsd:element name='P_STRASSE_E' type='xsd:string'/>
> <xsd:element name='P_HAUSNR_E' type='xsd:string'/>
> <xsd:element name='P_PLZ_E' type='xsd:string'/>
> <xsd:element name='P_ORT_E' type='xsd:string'/>
> </xsd:sequence>
> </xsd:complexType>
> <xsd:complexType name='ETBSRV2-BETRWS-Array'>
> <xsd:sequence>
> <xsd:element name='BETRIEB' minOccurs='1' maxOccurs='50'>
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name='P_KNR' type='xsd:string'/>
> <xsd:element name='P_NAME-1' type='xsd:string'/>
> <xsd:element name='P_NAME-2' type='xsd:string'/>
> <xsd:element name='P_NAME-3' type='xsd:string'/>
> <xsd:element name='P_STRASSE' type='xsd:string'/>
> <xsd:element name='P_HAUSNR' type='xsd:string'/>
> <xsd:element name='P_PLZ' type='xsd:string'/>
> <xsd:element name='P_ORT' type='xsd:string'/>
> <xsd:element name='P_BV' type='xsd:string'/>
> <xsd:element name='P_GEL' type='xsd:string'/>
> <xsd:element name='P_SACHB' type='xsd:string'/>
> <xsd:element name='P_TEL' type='xsd:string'/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> </xsd:sequence>
> </xsd:complexType>
> </schema>
> </types>
> <message name='BETRWS'>
> <part name='BETRIEB_EING' type='tns:ETBSRV2-BETRWS-BETRIEB_EING'/>
> </message>
> <message name='BETRWSResponse'>
> <part name='Array' type='tns:ETBSRV2-BETRWS-Array'/>
> <part name='P_ISN_E' type='xsd:decimal'/>
> </message>
> <portType name='ETBSRV2Port'>
> <operation name='BETRWS'>
> <input message='tns:BETRWS'/>
> <output message='tns:BETRWSResponse'/>
> </operation>
> </portType>
> <binding name='ETBSRV2SoapBinding' type='tns:ETBSRV2Port'>
> <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
> <operation name='BETRWS'>
> <soap:operation soapAction='BETRWS'/>
> <input>
> <soap:body use='encoded'
> encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'
> namespace='urn:com-softwareag-entirex-rpc:ETBSRV2'
> />
> </input>
> <output>
> <soap:body use='encoded'
> encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'
> namespace='urn:com-softwareag-entirex-rpc:ETBSRV2'
> />
> </output>
> </operation>
> </binding>
> <service name='BETRWS'>
> <port name='ETBSRV2Port' binding='tns:ETBSRV2SoapBinding'>
> <soap:address location='http://ws_mub_prod:8080/WS_7.2.1p50'/>
> </port>
> </service>
> </definitions>
>
>
> Thanks for your help....
> If you need more information please ask.
>
> Christian
>
> _______________________________________________
> fedora-suds-list mailing list
> fedora-suds-list at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-suds-list
>
More information about the suds
mailing list