私はJavaで書かれたWebサービスを呼び出すC#クライアントを作成しています(他人によって)。クライアントへのWeb参照を追加しました。Webサービスでメソッドを呼び出すことができました。オブジェクトの配列を返すJava Webサービスを消費するC#クライアントを作成する
サービスが変更されてオブジェクトの配列が返され、クライアントは返されたSOAPメッセージを適切に解析しません。
MyResponse[] MyFunc(string p)
class MyResponse
{
long id;
string reason;
}
私の生成されたC#プロキシが(SoapHttpClientProtocol.Invokeを使用して)Webサービスを呼び出して、私は1の長さMyResponse []配列を期待しています、単一の要素、すなわち。 Invoke呼び出しの後に得られるのは、実際に何が返されるかにかかわらず、id = 0およびreason = nullの要素です。パケットスニッファを使用すると、idとreasonがnull以外の値に設定されている正当なSOAPメッセージのように見えるサービスが返されていることがわかります。
someobject []を返すJava WebサービスをC#クライアントに呼び出すにはいくつかのトリックがありますか?私は、必要に応じて消毒されたデモを手に入れます。
を編集してください:これは「Web参照の追加...」からのWeb参照です。 VS 2005、.NET 3.0。
「Web参照の追加」(.NET 2.0)または「サービス参照の追加」(.NET 3.0)を使用していますか。 –