任何人都可以告诉我为什么我在SOAPpy中收到此错误?

时间:2010-10-18 18:26:22

标签: python soappy

server = SOAPpy.WSDL.Proxy(wdf)

Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    server = SOAPpy.WSDL.Proxy(wdf)
  File "C:\Python27\lib\soapy\SOAPpy\WSDL.py", line 62, in __init__
    self.wsdl = reader.loadFromStream(stream, wsdlsource)
  File "C:\Python27\lib\soapy\SOAPpy\wstools\WSDLTools.py", line 28, in loadFromStream
    document = DOM.loadDocument(stream)
  File "C:\Python27\lib\soapy\SOAPpy\wstools\Utility.py", line 572, in loadDocument
    return xml.dom.minidom.parse(data)
  File "C:\Python27\lib\xml\dom\minidom.py", line 1911, in parse
    return expatbuilder.parse(file)
  File "C:\Python27\lib\xml\dom\expatbuilder.py", line 928, in parse
    result = builder.parseFile(file)
  File "C:\Python27\lib\xml\dom\expatbuilder.py", line 207, in parseFile
    parser.Parse(buffer, 0)
ExpatError: syntax error: line 1, column 0

2 个答案:

答案 0 :(得分:2)

使用此

>>> import SOAPpy
>>> url = "your wsdl url"
>>> nameSpc= "your name space"
>>> client = SOAPpy.SOAPProxy(url,namespace = nameSpc)
>>> client.config.buildWithNamespacePrefix = 0  //  only for callin .net service
>>> client.config.dumpSOAPIn = 1  // in case to debug
>>> client.config.dumpSOAPOut = 1   // in case to debug
>>> result = client.TestPython(name = "ss")   //  name is the name of the parameter used in   
                                                  in the service method
>>> print result

答案 1 :(得分:0)

您尝试加载的文件可能无效。它的语法无效。 以下代码适用于保存为wsdl.xml的有效wsdl文件。

from SOAPpy import WSDL
wsdlFile = open('wsdl.xml')
server = WSDL.Proxy(wsdlFile)