使用Suds访问Atlassian Crowd SOAP API(Python SOAP库)

4 投票
1 回答
945 浏览
提问于 2025-04-15 22:00

最近有没有人成功通过Crowd SOAP API,使用Suds这个Python库?

我发现以前有一些人成功地做到这一点,但看起来Atlassian已经更改了他们的WSDL,这让之前的建议不太管用了。

下面是我尝试过的最简单的例子:

from suds.client import Client
url = 'https://crowd.hugeinc.com/services/SecurityServer?wsdl'
client = Client(url)

不幸的是,这段代码产生了以下错误:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/Users/soconnor/.virtualenvs/hugeface/lib/python2.6/site-packages/suds/client.py", line 116, in __init__
    sd = ServiceDefinition(self.wsdl, s)
  File "/Users/soconnor/.virtualenvs/hugeface/lib/python2.6/site-packages/suds/servicedefinition.py", line 58, in __init__
    self.paramtypes()
  File "/Users/soconnor/.virtualenvs/hugeface/lib/python2.6/site-packages/suds/servicedefinition.py", line 137, in paramtypes
    item = (pd[1], pd[1].resolve())
  File "/Users/soconnor/.virtualenvs/hugeface/lib/python2.6/site-packages/suds/xsd/sxbasic.py", line 63, in resolve
    raise TypeNotFound(qref)
TypeNotFound: Type not found: '(AuthenticatedToken, http://authentication.integration.crowd.atlassian.com, )'

我尝试过绑定修复来解决这个问题,但都没有成功。两种方法都没有带来任何变化。如果有其他建议或推荐的方法,会非常有帮助。

1 个回答

4

这里有一个关于Crowd WSDL的补丁:

http://jira.atlassian.com/browse/CWD-159

撰写回答