Может кто-нибудь сказать мне, почему я получаю эту ошибку в SOAPpy? - PullRequest
0 голосов
/ 18 октября 2010
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 ]

2 голосов
/ 22 февраля 2011

Используйте это

>>> 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
0 голосов
/ 18 октября 2010

Возможно, файл, который вы пытаетесь загрузить, недействителен.У него неверный синтаксис.Следующий код должен работать для действительного файла wsdl, сохраненного как wsdl.xml.

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