我正在使用泡沫 0.4
我正在尝试创建这样的节点(来自示例 SOAP 请求):
<id xsi:type="xs:int">123456</id>
它是 SOAP 调用的参数,仅传递一个 int 就会生成:
<int>123456</int>
这给了我
Expected: class java.lang.Integer, got class org.apache.xerces.dom.ElementNSImpl
所以我需要的是一种创建正确类型的方法。我尝试创建一个有效的 xsd:int 实例,但是我无法看到设置值。
有人有什么想法吗?
编辑
代码:
findResult = self.client.service.find(self._getSession(), 'Candidate', 123456)
或者
find = self.client.factory.create('find')
find.session = self._getSession()
find.entityName = 'Candidate'
find.id = 123456
findResult = self.client.service.find(find)
两次结果相同。它似乎将 id 作为文本字段传递。我检查了类型,我肯定使用的是 int 类型。在 WSDL 模式中,参数类型为:
<xs:complexType name="find">
<xs:sequence>
<xs:element name="session" type="xs:string" minOccurs="0"/>
<xs:element name="entityName" type="xs:string" minOccurs="0"/>
<xs:element name="id" type="xs:anyType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
在这里有任何类型的问题吗?