1

私が欲しい石鹸はこのようなものです:

<int:userId>......</int:userId>

これはSoapUIでテストされており、これで適切な応答が返されます。Ksoapが作るものはこれです:

<userId i:type="n0:undefined" xmlns:n0="http://namespace.com">.....</userId>

このコードをSoapUIに貼り付けると、エラーが発生します

'<Message>Error in line 5 position 88. Element 'http://namespace.com:
 userId'  
 contains data of the 'http://namespace.com:undefined' data contract.
 The deserializer has no knowledge of any type that maps to this contract. 
 Add the type corresponding to 'undefined' to the list of known types - 
 for example, by using the KnownTypeAttribute attribute or by 
 adding it to the list of known types passed to DataContractSerializer.
 </Message>

たぶん私は解決策について間違った方向を探していますが、どうすればksoapにそのi:type部分を省略させることができるかを尋ねています。誰かが別の解決策を提供できるなら、あなたは私の感謝を持っているでしょう。

4

1 に答える 1

3

KSoapには、各タグに独自の名前空間を挿入する傾向があります。これにより、表示されている出力を得ることができます。

私は同様の問題を抱えていましたが、次の方法で簡単に解決できました。

envelope.implicitTypes = true;

SOに関するこの他の質問もご覧ください。

于 2012-06-05T23:20:51.393 に答える