0

Visual Studio 2010 の「サービス参照の追加」ツールを使用して生成されたクライアントは、リモート関数の呼び出しに対して null 値を返します。
サーバーは Perl CGI スクリプト (SOAP::Transport::HTTP::CGI) であり、他のクライアントでのテストを通じて正しく機能していることがわかっています。POD::WSDL を使用して、「サービス参照の追加」に必要な WSDL ファイルを生成しました。

サーバーがクライアントからメッセージを取得し、適切な結果を返していることを確認しました。これにより、クライアントの構成または .NET の XML パーサーに何らかの欠陥があると結論付けました。エラーはスローされず、クライアントを呼び出すアプリケーションでトリッキーなことは何も試みません。

誰かが以前にこの問題を抱えていましたか? または、XMLSerializer のデバッグ情報を取得する方法を知っていますか? WSDL ファイルは、正しく送信する手段を記述しているが、応答を解釈する方法を記述していない可能性がありますか?

Service.ServiceHandlerClient client = new Service.ServiceHandlerClient("ARMService", "https://domain/server_soap");
string wut = client.cat_test("a", "b"); // "a b" を返す必要があり
ます Console.WriteLine("results: " + wut ); // 常に null です!

4

1 に答える 1

0

これに対して私が見つけたなんて惨めな解決策:

「サービス参照の追加」ウィザードでは、下部の「Web サービスの追加」にボタンがあり、すぐに機能する別のユーティリティを生成します。これは、他のウィザードが、すべてではなくほとんどの機能で機能するプロキシをなぜ生成するのかという疑問を残すだけです。

于 2010-10-01T18:37:11.257 に答える