I have set up a soaplib service using some complex types and using the
soaplib client it all works as I would expect. But using the suds client I
am having problems.
I am calling for a list of objects. I get a result of complex types back and
within each complex type a couple of other complex types. These ones inside
I cannot access without jumping through a load of hoops.
I have looked around for some idea as to what to do next, but have not found
any real hints. I did find the sharepoint example which seems very close to
what I am doing and the way that seems to work is what I was hoping I could
do with my service. But my results are not the same. What I wanted to do was
to access the elements via the usage job.actors.id etc. I can get
job.actors, but after that is the problem. This is the point where the
warning messages might be originating from.
The warning messages I am getting are coming from suds.umx about not finding
a type which looks to me as though the complex types are not being
interpreted correctly. I might be completely wrong here
I am hoping someone can give me a clue as to what I am doing wrong or point
me in the direction of what to try next.
Below I have included the debug output which I hope is enough to see what is
going on
Thanks for any info.
John Aherne
DEBUG:suds.client:sending to (
http://localhost:7789/CreateJob?wsdl)
message:
<SOAP-ENV:Envelope
xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:x
si="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="
http://schemas.xm
lsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<ns0:Body/>
</SOAP-ENV:Envelope>
DEBUG:suds.client:headers = {'SOAPAction': u'"list_jobs"',
'Content-Type':
'text
/xml'}
DEBUG:suds.client:http succeeded:
<SOAP-ENV:Envelope
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http:/
/www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/
soap/envelope/"
xmlns="CreateJob.CreateJob"><SOAP-ENV:Body><list_jobsResponse><l
ist_jobsResult type="tns:JobArray"><Job><specialInstructions
type="tns:SpecialIn
structionArray"><SpecialInstruction><type
xsi:type="xs:string">Meeting</type><id
xsi:type="xs:integer">244</id><value
xs:nil="1"/></SpecialInstruction></special
Instructions><asSoonAsPossible xs:nil="1"/><callerName
xsi:type="xs:string">john
</callerName><lastDrop xs:nil="1"/><jobDate
xs:nil="1"/><callerPhone
xs:nil="1"/
<number
xsi:type="xs:integer">1</number><stops
type="tns:StopArray"/><pinCode x
s:nil="1"/><delay xs:nil="1"/><cancelledOnArrival
xs:nil="1"/><actors
type="tns:
ActorArray"><Actor><id xs:nil="1"/><email
xsi:type="xs:string">fred@fred.com
</em
ail><role xs:nil="1"/><name
xsi:type="xs:string">fred</name><telephone
xs:nil="1
"/></Actor></actors><firstPickUp
xs:nil="1"/><cancelled
xs:nil="1"/><mainPasseng
er xs:nil="1"/><price
xsi:type="xs:float">30.5</price><callerEmail
xs:nil="1"/><
id xs:nil="1"/><serviceCode
xs:nil="1"/></Job></list_jobsResult></list_jobsRespo
nse></SOAP-ENV:Body></SOAP-ENV:Envelope>
WARNING:suds.umx.typed:attribute (type) type, not-found
WARNING:suds.umx.typed:attribute (type) type, not-found
WARNING:suds.umx.typed:attribute (type) type, not-found
WARNING:suds.umx.typed:attribute (type) type, not-found
(JobArray){
_type = "tns:JobArray"
Job[] =
(Job){
specialInstructions =
(SpecialInstructionArray){
_type = "tns:SpecialInstructionArray"
SpecialInstruction[] =
(SpecialInstruction){
type = "Meeting"
id = 244
value = None
},
}
asSoonAsPossible = None
callerName = "john"
lastDrop = None
jobDate = None
callerPhone = None
number = 1
stops =
(StopArray){
_type = "tns:StopArray"
}
pinCode = None
delay = None
cancelledOnArrival = None
actors =
(ActorArray){
_type = "tns:ActorArray"
Actor[] =
(Actor){
id = None
email = "fred(a)fred.com"
role = None
name = "fred"
telephone = None
},
}
firstPickUp = None
cancelled = None
mainPassenger = None
price = 30.5
callerEmail = None
id = None
serviceCode = None
},
}