次の方法で共有


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

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

Noteメモ :

既定では、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 サービスの説明ページが表示されます (省略可能)。

    Noteメモ :

    この構文では、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>
    
    パラメータ

    method

    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 サービスのクライアントの作成

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.