I am running a Plone site that makes use of suds (0.36) to handle my SOAP requests which generally works well. Allied to this I also have the same set up in a development instance.
However, on one particular request, the production site produces errors where the dev site works fine.
The following call to a remote service is fine in development but not in production (other calls from the production instance to the same server (ukcolofiniis06) works OK as well):
def testPostTime(): url = 'http://ukcolofiniis06/CMSNet/Time/TimeWS/TimeUtilityService.asmx?wsdl' client = Client(url) return client
The error returned is as follows:
Module suds.client, line 106, in __init__ Module suds.wsdl, line 193, in __init__ Module suds.wsdl, line 255, in build_schema Module suds.xsd.schema, line 90, in load Module suds.xsd.schema, line 277, in open_imports Module suds.xsd.sxbasic, line 874, in open Module suds.xsd.sxbasic, line 892, in download Module suds.sax.parser, line 134, in parse Module xml.sax.expatreader, line 107, in parse Module xml.sax.xmlreader, line 123, in parse Module xml.sax.expatreader, line 211, in feed Module xml.sax.handler, line 38, in fatalError SAXParseException: /tmp/suds/suds-649682136.http:10:2: mismatched tag
Any ideas why there could be a difference?
(For further info the successful output from the same call on my dev instance is as follows: Suds ( https://fedorahosted.org/suds/ ) version: 0.3.6 GA build: R526-20090624
Service ( TimeUtilityService ) tns="http://cmsopen.com/" Prefixes (3) ns0 = "http://cmsopen.com/" ns1 = "http://cmsopen.com/AbstractTypes" ns2 = "http://schemas.xmlsoap.org/soap/encoding/" Ports (2): (TimeUtilityServiceSoap) Methods (17): BatchTimeEntryDelete(ArrayOfInt batch, xs:boolean removeLocks, xs:boolean unrelease, ) BatchTimeEntryPost(ArrayOfInt timeUnos, TimeEntryPostOptions options, ) BatchTimeEntryRelease(ArrayOfTextPackage batch, ) BatchTimeEntrySetPrinted(ArrayOfInt batch, xs:boolean printed, ) BatchTimeEntryUnrelease(ArrayOfInt batch, ) BatchTimersConvert(ArrayOfTimerData batch, ) BatchTimersDelete(ArrayOfInt batch, ) Create(TimeEntryDataCreate data, xs:boolean lockOnCreate, ) Delete(xs:int timeUno, xs:boolean removeLock, xs:boolean unrelease, ) Release(TextPackage tPkg, ) SetPrinted(xs:int timeUno, xs:boolean printed, ) SubmitTimeEntryBatch(ArrayOfTimeEntryWSPackage batch, xs:boolean lockOnCreate, ) SubmitTimersBatch(ArrayOfTimerWSPackage batch, ) Unrelease(xs:int timeUno, ) Update(xs:int timeUno, TimeEntryDataUpdate data, ) UpdateGeneralDefaultTimekeeper(xs:int uno, ) UpdateTimerDefaultTimekeeper(xs:int uno, ) Types (69): ns2:Array ArrayOfInt ArrayOfTextPackage ArrayOfTimeEntryWSPackage ArrayOfTimerData ArrayOfTimerWSPackage ArrayOfWSReturn ns2:ENTITIES ns2:ENTITY ns2:ID ns2:IDREF ns2:IDREFS ns2:NCName ns2:NMTOKEN ns2:NMTOKENS ns2:NOTATION ns2:Name ns2:QName ns1:StringArray ns2:Struct TextPackage TimeEntryDataBase TimeEntryDataCreate TimeEntryDataUpdate TimeEntryPostOptions TimeEntryUpdatePkg TimeEntryWSPackage TimerData TimerDataBase TimerDataCreate TimerDataUpdate TimerUpdatePkg TimerWSPackage WSReturn ns2:anyURI ns2:arrayCoordinate ns2:base64 ns2:base64Binary ns2:boolean ns2:byte ns2:date ns2:dateTime ns2:decimal ns2:double ns2:duration ns2:float ns2:gDay ns2:gMonth ns2:gMonthDay ns2:gYear ns2:gYearMonth ns2:hexBinary ns2:int ns2:integer ns2:language ns2:long ns2:negativeInteger ns2:nonNegativeInteger ns2:nonPositiveInteger ns2:normalizedString ns2:positiveInteger ns2:short ns2:string ns2:time ns2:token ns2:unsignedByte ns2:unsignedInt ns2:unsignedLong ns2:unsignedShort (TimeUtilityServiceSoap12) Methods (17): BatchTimeEntryDelete(ArrayOfInt batch, xs:boolean removeLocks, xs:boolean unrelease, ) BatchTimeEntryPost(ArrayOfInt timeUnos, TimeEntryPostOptions options, ) BatchTimeEntryRelease(ArrayOfTextPackage batch, ) BatchTimeEntrySetPrinted(ArrayOfInt batch, xs:boolean printed, ) BatchTimeEntryUnrelease(ArrayOfInt batch, ) BatchTimersConvert(ArrayOfTimerData batch, ) BatchTimersDelete(ArrayOfInt batch, ) Create(TimeEntryDataCreate data, xs:boolean lockOnCreate, ) Delete(xs:int timeUno, xs:boolean removeLock, xs:boolean unrelease, ) Release(TextPackage tPkg, ) SetPrinted(xs:int timeUno, xs:boolean printed, ) SubmitTimeEntryBatch(ArrayOfTimeEntryWSPackage batch, xs:boolean lockOnCreate, ) SubmitTimersBatch(ArrayOfTimerWSPackage batch, ) Unrelease(xs:int timeUno, ) Update(xs:int timeUno, TimeEntryDataUpdate data, ) UpdateGeneralDefaultTimekeeper(xs:int uno, ) UpdateTimerDefaultTimekeeper(xs:int uno, ) Types (69): ns2:Array ArrayOfInt ArrayOfTextPackage ArrayOfTimeEntryWSPackage ArrayOfTimerData ArrayOfTimerWSPackage ArrayOfWSReturn ns2:ENTITIES ns2:ENTITY ns2:ID ns2:IDREF ns2:IDREFS ns2:NCName ns2:NMTOKEN ns2:NMTOKENS ns2:NOTATION ns2:Name ns2:QName ns1:StringArray ns2:Struct TextPackage TimeEntryDataBase TimeEntryDataCreate TimeEntryDataUpdate TimeEntryPostOptions TimeEntryUpdatePkg TimeEntryWSPackage TimerData TimerDataBase TimerDataCreate TimerDataUpdate TimerUpdatePkg TimerWSPackage WSReturn ns2:anyURI ns2:arrayCoordinate ns2:base64 ns2:base64Binary ns2:boolean ns2:byte ns2:date ns2:dateTime ns2:decimal ns2:double ns2:duration ns2:float ns2:gDay ns2:gMonth ns2:gMonthDay ns2:gYear ns2:gYearMonth ns2:hexBinary ns2:int ns2:integer ns2:language ns2:long ns2:negativeInteger ns2:nonNegativeInteger ns2:nonPositiveInteger ns2:normalizedString ns2:positiveInteger ns2:short ns2:string ns2:time ns2:token ns2:unsignedByte ns2:unsignedInt ns2:unsignedLong ns2:unsignedShort