泡沫和选择标签
如何使用“选择”参数生成对方法的请求?
http://127.0.0.1/service?wsdl 的 wsdl 的一部分:
<xs:complexType name="ByA"> <xs:sequence> ... </xs:sequence> </xs:complexType> <xs:complexType name="ByB"> <xs:sequence> ... </xs:sequence> </xs:complexType> <xs:complexType name="GetMethodRequest"> <xs:choice> <xs:element name="byA" type="s0:ByA" /> <xs:element name="byB" type="s0:ByB" /> </xs:choice> </xs:complexType>
当我这样做时 <代码>
from suds.client import Client
client = Client("http://127.0.0.1/service?wsdl")
print client
我看到
GetMethod()
没有任何参数。
如何使用 byA 或 byB 调用 GetMethod?
how to generate request to method with "choice" arguments?
part of wsdl at http://127.0.0.1/service?wsdl:
<xs:complexType name="ByA"> <xs:sequence> ... </xs:sequence> </xs:complexType> <xs:complexType name="ByB"> <xs:sequence> ... </xs:sequence> </xs:complexType> <xs:complexType name="GetMethodRequest"> <xs:choice> <xs:element name="byA" type="s0:ByA" /> <xs:element name="byB" type="s0:ByB" /> </xs:choice> </xs:complexType>
when I do
from suds.client import Client client = Client("http://127.0.0.1/service?wsdl") print client
I see
GetMethod()
without any arguments.
how I can call GetMethod with byA or with byB?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是泡沫中的一个已知错误
https://fedorahosted.org/suds/ticket/342
It's a known bug in suds
https://fedorahosted.org/suds/ticket/342
我是这样修复的:
I fixed it so:
如果不查看整个 wsdl,很难知道您的链接是到您的本地计算机。
Suds Client 类使用 服务类 作为实例用于与 wsdl 交互的变量。你尝试过这样的事情吗?
<代码>
或
client.service.GetMethod("byB")
It's hard to know without seeing the whole wsdl, your link is to your local machine.
The Suds Client class uses the Service Class as an instance variable for interacting with wsdl. Have you tried something like this?
or
client.service.GetMethod("byB")