如何解决如何使用Python 3和SUDS调用SOAP Web服务
我正在尝试使用Python 3.7和suds调用WS。这是我必须使用的一堆wsdl,其中指定了我必须调用的方法:
<s:element name="getPerson">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="person_id" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
我尝试过的事情:
from suds.client import Client
client = Client(myWDSL) # it works
client.service.getPerson('12')
最后一行返回错误:
xml.parsers.expat.ExpatError: mismatched tag: line 61,column 18
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
File "C:\Users\...\anaconda3\lib\site-packages\suds\client.py",line 559,in __call__
return client.invoke(args,kwargs)
File "C:\Users\...\anaconda3\lib\site-packages\suds\client.py",line 618,in invoke
result = self.send(soapenv)
File "C:\Users\...\anaconda3\lib\site-packages\suds\client.py",line 658,in send
result = self.succeeded(binding,reply.message)
File "C:\Users\...\anaconda3\lib\site-packages\suds\client.py",line 696,in succeeded
reply,result = binding.get_reply(self.method,reply)
File "C:\Users\...\anaconda3\lib\site-packages\suds\bindings\binding.py",line 146,in get_reply
replyroot = sax.parse(string=reply)
File "C:\Users\...\anaconda3\lib\site-packages\suds\sax\parser.py",line 134,in parse
parseString(string,handler)
File "C:\Users\...\anaconda3\lib\xml\sax\__init__.py",line 48,in parseString
parser.parse(inpsrc)
File "C:\Users\...\anaconda3\lib\xml\sax\expatreader.py",line 111,in parse
xmlreader.IncrementalParser.parse(self,source)
File "C:\...\anaconda3\lib\xml\sax\xmlreader.py",line 125,in parse
self.feed(buffer)
File "C:\Users\...\anaconda3\lib\xml\sax\expatreader.py",line 221,in feed
self._err_handler.fatalError(exc)
File "C:\Users\...\anaconda3\lib\xml\sax\handler.py",line 38,in fatalError
raise exception
xml.sax._exceptions.SAXParseException: <unknown>:61:18: mismatched tag
WSDL还需要带有用户名和密码的标头,但我认为该错误与此无关:这是在此调用起作用后我将面临的第二个问题。
提前谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。