方法 : Web サービス テストを作成する
更新 : 2007 年 11 月
Web テストを使用して Web サービスをテストできます。[要求の挿入] オプションおよび [Web サービス要求の挿入] オプションを使用すると、Web テスト エディタにある個々の要求を Web サービス ページへ移動するようにカスタマイズできます。通常、Web アプリケーションでは、これらのページは表示されません。そのため、これらのページへアクセスできるように要求をカスタマイズする必要があります。
次の手順では、コマース スタート キットに含まれる Web サービスを使用します。これは、ASP.NET Starter Kits からダウンロードできます。
メモ : |
---|
ASP.NET 開発サーバーを使用すると、Web サーバーでホストされていない Web サービスをテストできます。詳細については、「Web サービスのテスト」を参照してください。 |
Web サービスをテストするには
新しい Web テストを作成します。ブラウザが開いたら、すぐに [停止] をクリックします。
Web テスト エディタで、[Web テスト] をクリックして、[Web サービス要求の追加] を選択します。
新しい要求の [URL] のプロパティで、https://localhost/storecsvs/InstantOrder.asmx などの Web サービスの名前を入力します。
別のセッションのブラウザを開き、[アドレス] ツール バーに .asmx ページの URL を入力します。テストするメソッドを選択して、SOAP メッセージを調べます。これには、SOAPAction が含まれます。
Web テスト エディタで、要求を右クリックし、[ヘッダーの追加] を選択して、新しいヘッダーを追加します。[名前] プロパティに「SOAPAction」と入力します。[値] プロパティで、SOAPAction の値、"http://tempuri.org/CheckStatus" などを入力します。
[文字列ボディ] ノードの [コンテンツの種類] プロパティに「text/xml」と入力します。
手順 4 のブラウザに戻り、[Web サービスの記述] ページから SOAP 要求の XML 部分を選択し、クリップボードにコピーします。
次に示すのは、XML の内容の一例です。
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CheckStatus xmlns="http://tempuri.org/">
<userName>string</userName>
<password>string</password>
<orderID>int</orderID>
</CheckStatus>
</soap:Body>
</soap:Envelope>
Web テスト エディタへ戻り、[文字列ボディ] プロパティで省略記号 (...) をクリックします。クリップボードの内容をプロパティに貼り付けます。
テストを成功させるためには、XML に含まれているプレースホルダ値を有効な値に置き換える必要があります。前のサンプルでは、2 つの string と 1 つの int を置換することになります。この Web サービスの操作は、注文をした登録ユーザーが存在する場合にのみ完了します。
Web サービス要求を右クリックし、[URL QueryString パラメータの追加] を選択します。
クエリ文字列パラメータに名前と値を代入します。前の例では、名前は op となり、値は CheckStatus となります。これは、実行される Web サービスの操作を識別します。
メモ : SOAP 本体のデータ バインディングを使用すると、{{DataSourceName.TableName.ColumnName}} シンタックスを使用して、プレースホルダ値をデータ バインドされた値に置換できます。詳細については、「方法 : Web 要求にデータ バインディングを追加する」を参照してください。
テストを実行します。Web テスト ビューアの上部ペインで、Web サービス要求を選択します。下部ペインで、[Web ブラウザ] タブを選択します。Web サービスによって返された XML とあらゆる操作の結果とが表示されます。