私の問題は、 SOAP クライアント メソッドを実行している C# エラーに似ていますが、正確ではありません。別の質問をしたい。Java サーバー側には、いくつかのメソッドを持つ Web サービスがあります。以下に 2 つの例を示します (ほとんどの場合、ここに注釈を表示します)。
@WebResult(name = "result")
@WebMethod
public TheResult method1(string x, string y)
throws Exception
{
TheResult result = new TheResult();
// continue with code, not important
return result;
}
@WebResult(name = "result")
@WebMethod
public Boolean method2(int x, string y)
throws Exception
{
Boolean result = new TheResult();
// continue with code, not important
return result;
}
他にもメソッドがあり、それらはすべて @WebResult(name = "result") を使用します。Java 側はずっと前に別の開発者によって書かれており、これを変更するオプションはありません。InvalidOperationException を取得しています。Message=「結果」を反映したエラーが発生しました。内部例外は同じですが、messag は次のとおりです。名前空間 '' からの最上位の XML 要素 '結果' は、個別の型を参照しています...[詳細はここでは意図的に省略されています] XML 属性を使用して、要素または型の別の XML 名または名前空間を指定します. これまでの私の投稿からわかるように、以前の開発者がすべての Web メソッドに対して「結果」を使用していたという事実にゼロ点を置いています。これが問題のようです。サーバー コードを変更し、テスト目的で再コンパイルすると、例外を回避できます (これもオプションではありません)。
私はクライアントに VS2012 を使用しており、Java Web サービスを簡単に取り込むことができました。期待どおりにコードが生成されました。method1(bla, bla) を呼び出そうとすると、例外が発生します。クライアント側の手法のみを使用して、クライアント側でこれを解決するにはどうすればよいですか?