次の方法で共有


ブラウザから XML Web サービスへのアクセス

ASP.NET を使用して作成した XML Web サービスを公開した後で、ブラウザを使用して XML Web サービス メソッドのいずれか 1 つを呼び出すことで、その機能をテストできます。これを行うには、XML Web サービスを Web サーバーに配置してから、ブラウザを使用して XML Web サービスにリンクします。.asmx ファイルが Web サーバーに配置されると、HTTP-GET または HTTP-POST を使用してブラウザで XML Web サービスをテストできるようになります。

**メモ   **既定では、ASP.NET を使用して作成する XML Web サービスは、HTTP-GET、HTTP-POST、HTTP-SOAP などの複数のプロトコルをサポートできます。

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

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

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

    https://servername/apppath/webservicename.asmx
    
    パラメータ
    servername XML Web サービスを配置するサーバーの名前を指定します。
    Apppath 仮想ディレクトリの名前および Web アプリケーションのパスの残りの部分を指定します。
    webservicename.asmx XML Web サービスの .asmx ファイルの名前を指定します。

    XML Web サービスの HTML 説明ファイルが表示されます。

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

    たとえば、StockServices という名前の XML Web サービスを公開するとします。StockServices には、GetQuote と呼ばれる XML Web サービス メソッドが含まれ、このメソッドはパラメータとして株式シンボルを要求します。このサービスを公開すると、そのサービスのベース URL は http://<servername>/apppath/StockServices.asmx となります。ブラウザの URL 行でそのサービスの HTTP-GET 要求を次のように入力することで、そのサービスをテストできます。

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

    サーバーは、この要求に対して、XML Web サービスの HTML 説明ページを表示します。このページには、XML Web サービスの各メソッドが一覧表示されます。また、メソッドをテストしたり、メソッドの XML 応答を確認したりできます。

    さらに、テストするメソッドを的確に入力して、テスト対象のメソッドを限定することもできます。たとえば、次のように入力してサービスの GetQuote メソッドをテストできます。

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

    サーバーハ、要求した株式の現在の株価を示す XML 応答を表示します。GetQuote の戻り値のデータ型が倍精度浮動小数点数の場合、その結果は次のように表示されます。

    <?xml version="1.0" ?>
    <double>74.5</double>
    

HTTP-GET を使用してブラウザで XML Web サービスをテストするための代替メソッド

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

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

    https://servername/vdir/webservicename.asmx/Methodname?parameter=value
    
    パラメータ
    servername XML Web サービスを配置するサーバーの名前を指定します。
    Apppath 仮想ディレクトリの名前および Web アプリケーションのパスの残りの部分を指定します。
    webservicename.asmx XML Web サービスの .asmx ファイルの名前を指定します。
    Methodname XML Web サービスによって公開されるパブリック メソッドの名前を指定します。空白にした場合、XML Web サービスの記述ページが表示され、.asmx ファイルで使用できる各パブリック メソッドが一覧表示されます。この値は省略できます。
    parameter メソッドによって要求されるパラメータに対して適切なパラメータ名および値を指定します。空白にした場合、XML Web サービスの記述ページが表示され、.asmx ファイルで使用できる各パブリック メソッドが一覧表示されます。この値は省略できます。

    **メモ   **この構文では XML Web サービス メソッド名の大文字と小文字を区別しますが、サーバー名、プロジェクト名、および XML Web サービス名の大文字と小文字は区別しません。

たとえば、StockServices という名前の XML Web サービスを公開するとします。StockServices には、GetQuote と呼ばれる XML Web サービス メソッドが含まれており、その XML Web サービス メソッドは株式シンボルをパラメータとして受け入れ、株価を倍精度浮動小数点数として返します。この XML Web サービスを公開すると、そのサービスのベース URL は http://<servername>/apppath/StockServices.asmx となります。ブラウザのアドレス フィールドで次のように HTTP-GET 要求を入力することで、そのサービスをテストできます。

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

サーバーが、要求する株式の現在の株価を示す XML 応答を表示します。GetQuote の戻り値のデータ型が倍精度浮動小数点数の場合、その結果は次のように表示されます。

<?xml version="1.0" ?>
<double>74.5</double>

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

HTTP-POST を使用して XML Web サービスをテストするには、フォームを含む HTML ページを作成し、その method 属性を POST に設定する必要があります。次の XML Web サービスに対する HTTP-POST クライアントを作成する手順を下に示します。

<%@ 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;
     }
}
[Visual Basic]
<%@ 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
  1. XML Web サービスを Web サーバーに配置します。詳細については、「XML Web サービスの公開および配置」を参照してください。

  2. 次の形式を使用して、フォームを含む 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>
    
    パラメータ
    method POST と指定します。HTTP-POST を使用して XML Web サービスをテストする場合は、POST を使用します。
    action XML Web サービス メソッドの URL を指定します。前の例では、math.asmx が XML Web サービスで、Subtract が XML Web サービス メソッドとなります。
    type="text" XML Web サービス メソッドの各パラメータに対して、type 属性を "text" に設定した input タグを作成します。これにより、テキスト入力コントロールにパラメータ値を入力できます。
    name='num1' XML Web サービス メソッドのパラメータの名前を指定します。XML Web サービス メソッドのパラメータと同数のテキスト入力コントロールをフォームに追加します。たとえば、XML Web サービス メソッドに 3 つのパラメータがある場合、それらのパラメータの名前が各 name 属性に設定されている 3 つのテキスト入力コントロールが必要です。
    type=submit submit ボタンを追加して、XML Web サービス メソッドにデータをポストバックできるようにします。
  3. Web ブラウザにアクセスし、前の手順で作成した HTML ドキュメントの URL を入力します。

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

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

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

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

参照

XML Web サービス クライアントの作成 | XML Web サービスの探索 | XML Web サービスのクライアントの作成 | ASP.NET を使用して作成した既存の XML Web サービスの調査 | ブラウザから XML Web サービスへのアクセス