別の.NETアプリケーションから呼び出されたときに.NET WCF Webサービスがうまく機能しています。今私はサービスをテストするJavaクライアントを構築しようとしていましたが、メソッドの1つが機能しません。JavaクライアントからWCF Webサービスへのオブジェクト、エラー逆シリアル化
更新の一覧を送信しようとしました。複合型は次のとおりです。
<xs:complexType name="ArrayOfRegisterUpdate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="OneUpdateRegister"
nillable="true" type="tns:OneUpdateRegister" />
</xs:sequence>
</xs:complexType>
<xs:element name="ArrayOfRegisterUpdate" nillable="true"
type="tns:ArrayOfRegisterUpdate" />
<xs:complexType name="OneUpdateRegister">
<xs:sequence>
<xs:element minOccurs="0" name="Field" type="tns:RegisterField" />
<xs:element minOccurs="0" name="Value" nillable="true" type="xs:anyType" />
</xs:sequence>
</xs:complexType>
<xs:element name="OneUpdateRegister" nillable="true" type="tns:OneUpdateRegister" />
私のJavaプロキシは、予想通り、私は、「バリュー」に任意のオブジェクトを挿入できます(これは文字列、int型または日付時刻することができます)。しかし、文字列を入力すると、次の例外が発生します。
The formatter threw an exception while trying to deserialize the message:
There was an error while trying to deserialize parameter http://tempuri.org/:updates.
The InnerException message was 'There was an error deserializing the object of type
System.Collections.Generic.List`1
[[xxx.xxx.OneUpdateRegister, XXx.XXx, Version=1.0.0.0, Culture=neutral, `PublicKeyToken=null]].
The value 'John' cannot be parsed as the type 'Guid.'. Please see InnerException for more details.
Webメソッドは呼び出されません。私はタイプ 'Guid'がこれと何をしなければならないのか分かりません、単純なタイプのxsdでこのタイプを見ることができます。
他に有用な情報を教えてください。ありがとうございました。
?例外(クライアントまたはサーバー)はどこから来ていますか? FieldまたはValueプロパティに "John"の値を設定しようとしていますか?リスト(Of T)の代わりにオブジェクトの配列を使用しようとしましたか? –
複合型コードはサーバーから提供されます。そのメソッドを呼び出そうとすると、例外がクライアントに表示されます。私は "ジョン"の値をValueプロパティに入れようとしています。 配列の代わりにリスト(Of T)を使用することは必須ですが、なぜ私に質問していませんが、それは私たちの仕事です。 –