6

こんにちは、次の関数をテストしたいと思います: http://msrmaps.com/terraservice2.asmx?op=ConvertLonLatPtToNearestPlace

Visual Studio 2010 を使用してテストするより速い方法はありますか? 私は普通にC#を使っています。wsdlをフィードして、ビジュアルスタジオにサービスを呼び出すコードを自動生成させることは可能ですか? ありがとう。

ところで、「テスト フォームは、ローカル マシンからの要求に対してのみ使用可能です」とはどういう意味ですか。URLで?

4

2 に答える 2

13

そのコードを生成するためにできることがいくつかあります。最初の最も簡単な方法 (私の意見では) は、その URL へのサービス参照を作成することです。ここにいくつかのスクリーンショットがあります:

プロジェクトを右クリックして、サービス参照を追加します。

プロジェクトを右クリックし、サービス参照の追加を選択します

asmx の URL を (クエリ文字列にメソッドを含めずに) 入力し、参照に名前を付けて [OK] をクリックします。

サービスの URL を入力してください

これにより、呼び出しを行うために必要なプロキシ コードが生成されます。

プロジェクトの新しいサービス参照に注意してください

そこから、そのプロキシ コードを使用して Web サービスを呼び出すことができます。

TerraService.TerraServiceSoapClient client = new TerraService
    .TerraServiceSoapClient("TerraServiceSoap");
string place = client.ConvertLonLatPtToNearestPlace(
    new TerraService.LonLatPt { Lat = 47.6532, Lon = -122.135479 });

WSDL.exe2 つ目の方法は、Visual Studio に付属のコマンド ライン ツールを使用することです。Visual Studio のコマンド プロンプトを起動し、 と入力しますwsdl /?。これにより、アプリケーションのパラメーターが表示されます。私の場合、http://msrmaps.com/terraservice2.asmx? wsdl から WSDL のコピーを取得し、デスクトップに保存して、次のコマンドを実行しました。

wsdl /o:./terraservice.cs terraservice.wsdl

WSDL ファイルの横にプロキシ クラスを生成します。

最後に 1 つ... @Habibillah が提案したように、soapUI と親友になります。これは、コードを記述せずに Web サービスを呼び出すための優れたツールです。

それが役立つことを願っています!

于 2012-10-25T05:23:00.280 に答える
2

Visual Studio は、ローカル マシンの外部であっても、URL によって参照される wsdl/webservice のコードを生成できます。ただし、ブラウザでアクセスするテスト フォームは、ローカル マシン (localhost) でのみアクセスできます。

ただし、 soapUIなどの他のツールを使用して、インターネット経由で Web サービスをテストすることはできます。このツールは、インターネット経由で Web サービスをテストするのに役立ちます。

于 2012-10-25T03:51:42.970 に答える