我有这个 SOAP 函数定义(由 SUDS 提供):
getPaths(xs:anyType[] accessions, xs:string clientType, )
在 WSDL 中,输入如下所示:
<xs:complexType name="getPaths">
<xs:sequence>
<xs:element name="accessions" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="clientType" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
我试图在 Python 程序中这样称呼它:
result = client.service.getPaths([“string1”, “string2”], "string3")
得到这个故障:
suds.WebFault: Server raised fault: 'com.xyz.SomeException: java.lang.ClassCastException: org.apache.xerces.dom.ElementNSImpl cannot be cast to java.lang.String'
我认为我没有错误地为 anyType 提供数据。我在网上找不到任何关于如何指定 anyType 数据的文档或信息。我假设我可以传递任何类型。服务器端工作正常,因为有快乐的 Java 客户端。
提前感谢您的帮助。