方法 : ブラウザーから XML Web サービスにアクセスする

このトピックの対象は、レガシ テクノロジに特定されています。XML Web サービスと XML Web サービス クライアントは以下を使用して作成してください。 Windows Communication Foundation.

ASP.NET を使用して作成した Web サービスを公開した後で、ブラウザーから HTTP-GET または HTTP-POST を使用して呼び出すことで、機能をテストすることができます。ブラウザーで .asmx ファイルにアクセスし、Web サービス メソッドへのハイパーリンクをクリックするか、.asmx の URL に検索文字列を追加してそれぞれのメソッドに直接アクセスします。

45fez2a8.note(ja-jp,VS.100).gif注 :
既定では、ASP.NET を使用して作成した Web サービスは、SOAP over HTTP や、応答で非 SOAP XML が返される HTTP-GET と HTTP-POST の実装など、複数のプロトコルをサポートできます。

HTTP-GET を使用してブラウザーで Web サービスをテストするには

  1. Web サービスを Web サーバーに配置します。詳細については、「XML Web サービスの公開および配置」を参照してください。

  2. Web ブラウザーにアクセスして、アドレス バーに次の形式で Web サービスの URL を入力します。

    https://servername/apppath/webservicename.asmx
    

    パス部分

    servername

    Web サービスが配置されているサーバー名。

    Apppath

    仮想ディレクトリ名と、Web アプリケーション パスの残りの部分。

    webservicename.asmx

    Web サービスの .asmx ファイルの名前。

    たとえば、StockServices という名前の Web サービスを公開しているとします。サービスを公開すると、このサービスのベース URL は http://<servername>/apppath/StockServices.asmx となります。このサービスをテストするには、ブラウザーのアドレス バーにこの HTTP-GET 要求を入力します。

    http://<servername>/apppath/StockServices.asmx
    

    サーバーはこの要求に対する応答として、Web サービスの HTML の説明ページを表示します。

  3. Web サービスの HTML の説明ページには、特定の Web サービスでサポートされるすべての Web サービス メソッドが表示されます。目的の Web サービス メソッドにリンクし、必要なパラメーターを入力してメソッドをテストして XML 応答を確認します。

HTTP-GET を使用してブラウザーで Web サービス メソッドを直接テストするには

  1. Web サービスを Web サーバーに配置します。詳細については、「XML Web サービスの公開および配置」を参照してください。

  2. Web ブラウザーにアクセスして、アドレス バーに次の形式で Web サービス メソッドの URL を入力します。

    https://servername/vdir/webservicename.asmx/Methodname?parameter=value
    

    パラメーター

    servername

    Web サービスが配置されているサーバー名。

    Apppath

    仮想ディレクトリ名と、Web アプリケーション パスの残りの部分。

    webservicename.asmx

    Web サービスの .asmx ファイルの名前。

    Methodname

    Web サービスが公開するパブリック メソッドの名前。空白にした場合は、.asmx ファイルで使用できるパブリック メソッドを一覧表示する Web サービスの説明ページが表示されます (省略可能)。

    parameter

    メソッドが要求するパラメーターに対する適切なパラメーター名と値。空白にした場合は、.asmx ファイルで使用できるパブリック メソッドを一覧表示する Web サービスの説明ページが表示されます (省略可能)。

    45fez2a8.note(ja-jp,VS.100).gif注 :
    この構文では、Web サービス メソッド名の大文字と小文字が区別されますが、サーバー名、プロジェクト名、および Web サービス名の大文字と小文字は区別されません。

    たとえば、前の手順の StockServices Web サービスに GetQuote という Web サービス メソッドが含まれているとします。この Web サービス メソッドは株式銘柄をパラメーターとして受け取り、株価を倍精度浮動小数点数で返します。このメソッドをテストするには、ブラウザーのアドレス バーに次の HTTP-GET 要求を入力します。

    http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT

  3. サーバーは XML ドキュメントを含む応答を送信し、これがブラウザーに表示されます。GetQuote の例では、XML には要求した株式の現在の株価が表示されます。結果は次のようになります。

    <?xml version="1.0" ?>

    <double>74.5</double>

HTTP-POST を使用してブラウザーで Web サービスをテストするには

  1. Web サービスを Web サーバーに配置します。詳細については、「XML Web サービスの公開および配置」を参照してください。この手順では、サイト https://www.contoso.com の仮想ルートからアクセスできる math.asmx ファイルとして配置された次の Web サービスを例として使用しています。

    <%@ WebService Language="C#" Class="Math" %>
    using System.Web.Services;
    public class Math : WebService {
         [ WebMethod ]
         public int Add(int num1, int num2) {
              return num1+num2;
         }
    
         [ WebMethod ]
         public int Subtract(int num1, int num2) {
              return num1-num2;
         }
    }
    
    <%@ WebService Language="VB" Class="Math" %>
    Imports System.Web.Services
    
    Public Class Math
        Inherits WebService
    
        <WebMethod> _
        Public Function Add(num1 As Integer, num2 As Integer) As Integer
            Return num1 + num2
        End Function    
    
        <WebMethod> _
        Public Function Subtract(num1 As Integer, num2 As Integer) As Integer
            Return num1 - num2
        End Function
    End Class
    
  2. method 属性に POST が設定されたフォームの HTML ページを作成します。次の形式を使用します。

       <form method=POST action='https://www.contoso.com/math.asmx/Subtract'>
           <input type="text" size="5" name='num1'\"></td> -
           <input type="text" size="5" name='num2'\"></td> =
           <input type=submit value="Subtract"> </td>
       </form>
    

    パラメーター

    メソッド

    POST と指定します。HTTP-POST を使用して Web サービスをテストする場合は、POST を使用します。

    action

    Web サービス メソッドの URL。前の例では、math.asmx が Web サービスで、Subtract が Web サービス メソッドです。

    type="text"

    Web サービス メソッドのパラメーターごとに、type 属性を "text" に設定した input タグを作成します。これで、テキスト入力コントロールにパラメーター値を入力できるようになります。

    name='num1'

    Web サービス メソッド パラメーターの名前。Web サービス メソッドのパラメーターと同数のテキスト入力コントロールをフォームに追加します。たとえば、Web サービス メソッドにパラメーターが 3 つある場合、3 つのテキスト入力コントロールが必要になります。name 属性にはパラメーターの名前を設定します。

    type=submit

    Web サービス メソッドにデータを送信できるように、送信ボタンを追加します。

  3. Web ブラウザーにアクセスして、前の手順で作成した HTML ドキュメントの URL を入力します。

    前の手順で作成した HTML ドキュメントが表示されます。

  4. テキスト ボックスに Web サービス メソッドの適切な値を入力し、[送信] ボタンをクリックします。

    たとえば、例の Subtract Web サービス メソッドの 2 つのテキスト ボックスに 6 を入力してから 3 を入力すると、次の結果が返されます。

    <?xml version="1.0" ?> 
    <int xmlns="http://tempuri.org/">3</int>
    

参照

処理手順

方法 : ASP.NET を使用して作成した既存の XML Web サービスを調査する
方法 : ブラウザーから XML Web サービスにアクセスする

概念

XML Web サービス クライアントの作成
Web サービス探索

その他のリソース

XML Web サービスのクライアントの作成