作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 Suds 连接到 SugarCRM soap 服务(正确的术语是什么?):
from suds.client import Client
url = "http://localhost/sugarcrm/soap.php?wsdl"
client = Client(url)
session = client.service.login("usr", "pwd")
但是最后一行抛出异常:
ERROR:suds.client:<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns3="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://www.sugarcrm.com/sugarcrm" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header/>
<ns2:Body>
<ns1:login>
<user_auth xsi:type="ns1:user_auth">usr</user_auth>
<application_name xsi:type="ns3:string">pwd</application_name>
</ns1:login>
</ns2:Body>
</SOAP-ENV:Envelope>
Traceback (most recent call last):
File "python.py", line 5, in <module>
session = client.service.login("usr", "pwd")
File "/usr/lib/pymodules/python2.6/suds/client.py", line 542, in __call__
return client.invoke(args, kwargs)
File "/usr/lib/pymodules/python2.6/suds/client.py", line 602, in invoke
result = self.send(soapenv)
File "/usr/lib/pymodules/python2.6/suds/client.py", line 653, in send
result = self.failed(binding, e)
File "/usr/lib/pymodules/python2.6/suds/client.py", line 714, in failed
raise Exception((status, reason))
Exception: (404, u'Not Found')
最佳答案
尝试将参数 location=url
也传递给 Client
构造函数。有时 WSDL 中的位置元素与服务器上的 URI 不匹配。
client = Client(url, location=url)
关于python - 为什么我用 Suds 得到 "Exception: (404, u' Not Found')",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6499770/
我是一名优秀的程序员,十分优秀!