[英]Python SUDS Error - SAXParseException
有誰知道為什么當響應看起來像這樣時,我會從python suds調用中得到"<unknown>:1:0: syntax error"
?
<?xml version='1.0' encoding='UTF-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Body>
<external.bz1:reply xmlns:abn.types="uri:abn.types.asic.gov.au" xmlns:bn.types="uri:bn.types.asic.gov.au" xmlns:business.document.header.types="uri:business.document.header.types.asic.gov.au" xmlns:external.bz1="uri:external.bz1.asic.gov.au" xmlns:fss.types="uri:fss.types.asic.gov.au" xmlns:types="uri:types.asic.gov.au">
<business.document.header.types:businessDocumentHeader>
<business.document.header.types:messageType>bnLodgeApplication</business.document.header.types:messageType>
<business.document.header.types:messageReferenceNumber>1</business.document.header.types:messageReferenceNumber>
<business.document.header.types:messageVersion>1</business.document.header.types:messageVersion>
<business.document.header.types:senderId>ASIC</business.document.header.types:senderId>
<business.document.header.types:senderType>GOVT</business.document.header.types:senderType>
<business.document.header.types:messageEvents>
<business.document.header.types:messageEvent>
<business.document.header.types:errorCode>00007</business.document.header.types:errorCode>
<business.document.header.types:serverityCode>Error</business.document.header.types:serverityCode>
<business.document.header.types:description>Message previously processed but no valid reponse is available</business.document.header.types:description>
</business.document.header.types:messageEvent>
</business.document.header.types:messageEvents>
</business.document.header.types:businessDocumentHeader>
</external.bz1:reply>
</env:Body>
</env:Envelope>
這是堆棧跟蹤:
Traceback:
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/django_projects/ecr/businessNames/views.py" in externalBz1
19. result = doExternalBz1(test)
File "/django_projects/ecr/businessNames/models.py" in doExternalBz1
75. result = client.service.externalBz1(header, body)
File "/usr/local/lib/python2.6/dist-packages/suds-0.4-py2.6.egg/suds/client.py" in __call__
542. return client.invoke(args, kwargs)
File "/usr/local/lib/python2.6/dist-packages/suds-0.4-py2.6.egg/suds/client.py" in invoke
602. result = self.send(soapenv)
File "/usr/local/lib/python2.6/dist-packages/suds-0.4-py2.6.egg/suds/client.py" in send
643. result = self.succeeded(binding, reply.message)
File "/usr/local/lib/python2.6/dist-packages/suds-0.4-py2.6.egg/suds/client.py" in succeeded
678. reply, result = binding.get_reply(self.method, reply)
File "/usr/local/lib/python2.6/dist-packages/suds-0.4-py2.6.egg/suds/bindings/binding.py" in get_reply
145. replyroot = sax.parse(string=reply)
File "/usr/local/lib/python2.6/dist-packages/suds-0.4-py2.6.egg/suds/sax/parser.py" in parse
136. sax.parse(source)
File "/usr/lib/python2.6/xml/sax/expatreader.py" in parse
107. xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python2.6/xml/sax/xmlreader.py" in parse
123. self.feed(buffer)
File "/usr/lib/python2.6/xml/sax/expatreader.py" in feed
211. self._err_handler.fatalError(exc)
File "/usr/lib/python2.6/xml/sax/handler.py" in fatalError
38. raise exception
Exception Type: SAXParseException at /businessNames/externalBz1/1/
Exception Value: <unknown>:1:0: syntax error
這是直接從日志,沒有提到解析錯誤:(
有任何想法嗎?
干杯,本
我沒有直接傳遞結果,而是執行了以下操作,它消除了錯誤。
sax = suds.sax.parser.Parser()
s_received = str(client.last_received()) # passed "client.last_received()", no error
s_parse = sax.parse(string=s_received)
而不是像:
x_request = eval(client.service.ListTestAccounts)
result = x_request("1")
sax = suds.sax.parser.Parser()
s_result = str(result) # passed "result", generated error
s_parse = sax.parse(string=s_result)
希望這有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.