方法 : ブラウザから XML Web サービスにアクセスする
ASP.NET を使用して作成した Web サービスを公開した後で、ブラウザから HTTP-GET または HTTP-POST を使用して呼び出すことで、機能をテストすることができます。ブラウザで .asmx ファイルにアクセスし、Web サービス メソッドへのハイパーリンクをクリックするか、.asmx の URL に検索文字列を追加してそれぞれのメソッドに直接アクセスします。
メモ : |
---|
既定では、ASP.NET を使用して作成した Web サービスは、SOAP over HTTP や、応答で非 SOAP XML が返される HTTP-GET と HTTP-POST の実装など、複数のプロトコルをサポートできます。 |
HTTP-GET を使用してブラウザで Web サービスをテストするには
Web サービスを Web サーバーに配置します。詳細については、「XML Web サービスの公開および配置」を参照してください。
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 の説明ページを表示します。
Web サービスの HTML の説明ページには、特定の Web サービスでサポートされるすべての Web サービス メソッドが表示されます。目的の Web サービス メソッドにリンクし、必要なパラメータを入力してメソッドをテストして XML 応答を確認します。
HTTP-GET を使用してブラウザで Web サービス メソッドを直接テストするには
Web サービスを Web サーバーに配置します。詳細については、「XML Web サービスの公開および配置」を参照してください。
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 サービスの説明ページが表示されます (省略可能)。
メモ : この構文では、Web サービス メソッド名の大文字と小文字が区別されますが、サーバー名、プロジェクト名、および Web サービス名の大文字と小文字は区別されません。
たとえば、前の手順の
StockServices
Web サービスにGetQuote
という Web サービス メソッドが含まれているとします。この Web サービス メソッドは株式銘柄をパラメータとして受け取り、株価を倍精度浮動小数点数で返します。このメソッドをテストするには、ブラウザのアドレス バーに次の HTTP-GET 要求を入力します。http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
サーバーは XML ドキュメントを含む応答を送信し、これがブラウザに表示されます。
GetQuote
の例では、XML には要求した株式の現在の株価が表示されます。結果は次のようになります。<?xml version="1.0" ?>
<double>74.5</double>
HTTP-POST を使用してブラウザで Web サービスをテストするには
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
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 サービス メソッドにデータを送信できるように、送信ボタンを追加します。
Web ブラウザにアクセスして、前の手順で作成した HTML ドキュメントの URL を入力します。
前の手順で作成した HTML ドキュメントが表示されます。
テキスト ボックスに 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 サービス探索
その他の技術情報
Copyright © 2007 by Microsoft Corporation.All rights reserved.