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