Ksoap2 ライブラリを使用して、Android デバイスから WCF .Net Web サービスに接続しようとしています。これまでのところ、複雑なオブジェクトを送受信できました (多くのトラブルシューティングの後)。ただし、現在、null 許容型の問題に直面しています。サーバー側では、送信する属性の多くが null 可能になります。これらを Android 側から null として送信しようとすると、ksoap が nil=true ではなく null=true を設定するため、逆シリアル化エラーが発生します。以下は、テスト ドライバーからの動作中の SOAP XML と、Android クライアントからの現在の XML です。
動作中のテスト ドライバー XML
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<AddNullables xmlns="http://TJIsGhey/Tester">
<NumbersToAdd xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Input1>7</Input1>
<Input2 i:nil="true" />
</NumbersToAdd>
</AddNullables>
</s:Body>
</s:Envelope>
Android クライアント XML
<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/">
<v:Header />
<v:Body>
<AddNullables xmlns="http://TJIsGhey/Tester" id="o0" c:root="1">
<NumbersToAdd i:type="n0:NullablesIn" xmlns:n0="http://TJIsGhey/Tester">
<Input1 i:type="d:int">6</Input1>
<Input2 i:null="true" />
</NumbersToAdd>
</AddNullables>
</v:Body>
</v:Envelope>
そして、ここに私が受け取っているエラーメッセージがあります:
タイプ Tester.NullablesIn のオブジェクトのデシリアライズ中にエラーが発生しました。値 '' をタイプ 'Int32' として解析できません。
どんな助けでも大歓迎です!