I have the following as a response from one of the web service method. It is an ArrayOfComplexType with an xsd:extension
Executing the code below
from suds.serviceproxy import ServiceProxy url = 'http://chouwmlci0849.amrs.win.ml.com/Cds/Calendar/CalendarService.svc?wsdl' myservice=ServiceProxy(url) print myservice.FindCalendarValuesByName('','','','','','')
is giving me the following error
Traceback (most recent call last): File "C:\MerrillLynch\projects\PYTHON\WSTest01.py", line 20, in ? print myservice.FindCalendarValuesByName('LCCME_OPTIONS','2008-01-01','2008- 06-30','','','') File "build\bdist.win32\egg\suds\sudsobject.py", line 119, in __str__ File "build\bdist.win32\egg\suds\sudsobject.py", line 122, in __unicode__ File "build\bdist.win32\egg\suds\sudsobject.py", line 161, in tostr File "build\bdist.win32\egg\suds\sudsobject.py", line 171, in process File "build\bdist.win32\egg\suds\sudsobject.py", line 234, in print_object File "build\bdist.win32\egg\suds\sudsobject.py", line 183, in process File "build\bdist.win32\egg\suds\sudsobject.py", line 274, in print_collection
File "build\bdist.win32\egg\suds\sudsobject.py", line 171, in process File "build\bdist.win32\egg\suds\sudsobject.py", line 234, in print_object File "build\bdist.win32\egg\suds\sudsobject.py", line 186, in process File "build\bdist.win32\egg\suds__init__.py", line 129, in tostr ValueError: tzinfo.utcoffset() returned 1440; must be in -1439 .. 1439
<xsd:element name="FindCalendarValuesByNameResponse"> xsd:complexType xsd:sequence <xsd:element minOccurs="0" maxOccurs="1" name="FindCalendarValuesByNameResult" type="tns:ArrayOfCalendarValueData" /> </xsd:sequence> </xsd:complexType> </xsd:element>
<xsd:complexType name="ArrayOfCalendarValueData"> xsd:sequence <xsd:element minOccurs="0" maxOccurs="unbounded" name="CalendarValueData" nillable="true" type="tns:CalendarValueData" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CalendarValueData"> <xsd:complexContent mixed="false"> <xsd:extension base="tns:ActiveHeader"> xsd:sequence <xsd:element minOccurs="1" maxOccurs="1" name="CalendarValueID" type="xsd:int" /> <xsd:element minOccurs="1" maxOccurs="1" name="CalendarValue" type="xsd:dateTime" /> <xsd:element minOccurs="1" maxOccurs="1" name="CalendarValueDescription" nillable="true" type="xsd:string" /> <xsd:element minOccurs="1" maxOccurs="1" name="CalendarLocalValue" nillable="true" type="xsd:dateTime" /> <xsd:element minOccurs="1" maxOccurs="1" name="ContractDate" nillable="true" type="xsd:dateTime" /> <xsd:element minOccurs="1" maxOccurs="1" name="CalendarValueTypeID" type="xsd:int" /> <xsd:element minOccurs="1" maxOccurs="1" name="CalendarValueTypeName" nillable="true" type="xsd:string" /> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ActiveHeader"> <xsd:complexContent mixed="false"> <xsd:extension base="tns:Header"> xsd:sequence <xsd:element minOccurs="1" maxOccurs="1" name="Status" type="tns:DataState" /> <xsd:element minOccurs="1" maxOccurs="1" name="UpdatedOn" type="xsd:dateTime" /> <xsd:element minOccurs="1" maxOccurs="1" name="UpdatedBy" nillable="true" type="xsd:string" /> <xsd:element minOccurs="1" maxOccurs="1" name="Active" type="xsd:boolean" /> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Header" abstract="true" /> <xsd:simpleType name="DataState"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Unchanged" /> <xsd:enumeration value="Insert" /> <xsd:enumeration value="Delete" /> <xsd:enumeration value="Update" /> </xsd:restriction> </xsd:simpleType>
I tested with a simple Complex type below for which it worked.
<xsd:element name="TestDocResponse"> xsd:complexType xsd:sequence <xsd:element minOccurs="0" maxOccurs="1" name="TestDocResult" type="tns:ArrayOfEmployee" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="ArrayOfEmployee"> xsd:sequence <xsd:element minOccurs="0" maxOccurs="unbounded" name="Employee" nillable="true" type="tns:Employee" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Employee"> xsd:sequence <xsd:element minOccurs="0" maxOccurs="1" name="FirstName" type="xsd:string" /> <xsd:element minOccurs="0" maxOccurs="1" name="LastName" type="xsd:string" /> </xsd:sequence> </xsd:complexType>
I would appreciate any pointers into that