私はsuds0.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>
ここで問題が発生しましたか?