最新のWeb開発のチュートリアル
 

XMLウェブサービス


Webサービスは、Webアプリケーションコンポーネントです。

Webサービスは、公開された発見し、Web上で使用することができます。

このチュートリアルでは、WSDL、SOAP、RDF、およびRSSを紹介しています。


WSDL

  • WSDLは、Webサービス記述言語の略
  • WSDLは、Webサービスを記述するためのXMLベースの言語です。
  • WSDLは、W3C勧告です

石鹸

  • SOAPは、Simple Object Access Protocolの略
  • SOAPは、WebサービスにアクセスするためのXMLベースのプロトコルです。
  • SOAPはXMLに基づいています
  • SOAPはW3C勧告です

RDF

  • RDFは、リソース記述フレームワークの略
  • RDFは、ウェブ上のリソースを記述するためのフレームワークです
  • RDFは、XMLで記述されています
  • RDFはW3C勧告であります

RSS

  • RSSは、本当に単純なシンジケーションの略
  • RSSは、シンジケートあなたのサイトのコンテンツにあなたを可能にします
  • RSSは、見出しやコンテンツを共有し、表示する簡単な方法を定義します
  • RSSファイルを自動的に更新することができます
  • RSSは、異なるサイトのためのパーソナライズされたビューを可能にします
  • RSSはXMLで記述されています

あなたが知っておくべきこと

あなたは、Webサービスを検討する前に、XMLとXML名前空間の基本的な理解を持っている必要があります。

あなたが最初にこれらの科目を勉強したい場合は、私たちのお読みくださいXMLのチュートリアルを


ウェブサービス

  • Webサービスは、アプリケーションの構成要素であります
  • Webサービスは、オープン・プロトコルを使用して通信します
  • Webサービスは、自己完結型の自己記述されています
  • Webサービスは、UDDIを使用して検出することができます
  • Webサービスは、他のアプリケーションで使用することができ
  • HTTPとXML、Webサービスのための基礎であります

相互運用性は、優先順位が最も高いです

すべての主要なプラットフォームは、Webブラウザを使用してWebにアクセスすることができた場合、異なるプラットフォームは対話しませんでした。 これらのプラットフォームが一緒に機能するためには、Webベースのアプリケーションを開発しました。

Webベースのアプリケーションは、単にウェブ上で動作するアプリケーションです。 これらは、Webブラウザの標準を中心に構築されており、任意のプラットフォーム上の任意のブラウザで使用することができます。


Webサービスは、次のレベルへのWebアプリケーションを取ります

Webサービスを使用することで、あなたのアプリケーションは、世界の残りの部分に、その機能やメッセージを公開することができます。

Webサービスはそれを輸送するためにコード化すると、データを復号化し、SOAPのXMLを使用して(using open protocols)

Webサービスでは、あなたの経理部のウィン2kのサーバーの課金システムは、ITサプライヤーのUNIXサーバに接続することができます。


Webサービスは、使用方法の2つのタイプがあります

Reusable application-components.

アプリケーションは非常に頻繁に必要とするものがあります。 なぜ何度も何度もこれらを作りますか?

サービスとして通貨換算、天気予報、あるいは言語翻訳:Webサービスは、のようなアプリケーション・コンポーネントを提供することができます。

Connect existing software.

Webサービスは、異なるアプリケーションにそれらのデータをリンクする方法を与えることによって、相互運用性の問題を解決するのを助けることができます。

Webサービスを使用すると、異なるアプリケーションや異なるプラットフォーム間でデータを交換することができます。

任意のアプリケーションは、Webサービスコンポーネントを有することができます。

Webサービスは関係なくプログラミング言語を作成することができます。


Webサービスの例

次の例では、単純な摂氏華氏の温度を変換し、Webサービス、およびその逆を作成するために、ASP.NETを使用します。

<%@ WebService Language="VBScript" Class="TempConvert" %>

Imports System
Imports System.Web.Services

Public Class TempConvert :Inherits WebService

<WebMethod()> Public Function FahrenheitToCelsius
(ByVal Fahrenheit As String) As String
  dim fahr
  fahr=trim(replace(Fahrenheit,",","."))
  if fahr="" or IsNumeric(fahr)=false then return "Error"
  return ((((fahr) - 32) / 9) * 5)
end function

<WebMethod()> Public Function CelsiusToFahrenheit
(ByVal Celsius As String) As String
  dim cel
  cel=trim(replace(Celsius,",","."))
  if cel="" or IsNumeric(cel)=false then return "Error"
  return ((((cel) * 9) / 5) + 32)
end function

end class

この文書は.asmxのファイルとして保存されます。 これは、XML Webサービス用のASP.NETファイル拡張子です。


例の説明しました

Note:この例を実行するには、.NETサーバーが必要になります。

例の最初の行は、これはVBScriptで記述されたWebサービス、であると述べて、クラス名を持つ"TempConvert"

<%@ WebService Language="VBScript" Class="TempConvert" %>

次の行は、名前空間をインポート"System.Web.Services" .NETフレームワークからの:

Imports System
Imports System.Web.Services

次の行があることを定義"TempConvert"クラスがWebServiceクラスのタイプです:

Public Class TempConvert :Inherits WebService

次のステップは、基本的なVBのプログラミングです。 このアプリケーションは、2つの機能を有しています。 華氏から摂氏に変換するための一つの、そして摂氏から華氏に変換する1。

通常のアプリケーションとの唯一の違いは、この関数は以下のように定義されていることである"WebMethod() "。

使用"WebMethod() Webサービスへのアプリケーションの機能を変換します」:

<WebMethod()> Public Function FahrenheitToCelsius
(ByVal Fahrenheit As String) As String
  dim fahr
  fahr=trim(replace(Fahrenheit,",","."))
  if fahr="" or IsNumeric(fahr)=false then return "Error"
  return ((((fahr) - 32) / 9) * 5)
end function

<WebMethod()> Public Function CelsiusToFahrenheit
(ByVal Celsius As String) As String
  dim cel
  cel=trim(replace(Celsius,",","."))
  if cel="" or IsNumeric(cel)=false then return "Error"
  return ((((cel) * 9) / 5) + 32)
end function

次に、クラスを終了します。

end class

.NETをサポートしているサーバー上の.asmxファイルを公開し、あなたはあなたの最初の作業Webサービスを持っています。

私たちを見て、例えばWebサービス


ASP.NETは、プロセスを自動化

ASP.NETを使用すると、独自のWSDLとSOAP文書を記述する必要はありません。

あなたは私たちの例のWebサービスをよく見れば、ASP.NETが自動的に作成されているのがわかりますWSDLSOAPリクエストを。

Webサービスの例を使用しました

前ページでは、作成したWebサービスを

FahrenheitToCelsius()関数は、ここでテストすることができます。 FahrenheitToCelsius

CelsiusToFahrenheit()関数は、ここでテストすることができます: CelsiusToFahrenheitを

これらの機能は、このようなXMLレスポンスを送信します。

<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://tempuri.org/">38</string>

あなたのWebサイト上でWebサービスを置きます

フォームとHTTP POSTメソッドを使用して、あなたはこのように、あなたのサイト上でWebサービスを置くことができます。

摂氏華氏:

華氏摂氏:

どうやってするの

ここでは、WebページにWebサービスを追加するコードは次のとおりです。

<form action='tempconvert.asmx/FahrenheitToCelsius'
method="post" target="_blank">
<table>
  <tr>
    <td>Fahrenheit to Celsius:</td>
    <td>
    <input class="frmInput" type="text" size="30" name="Fahrenheit">
    </td>
  </tr>
  <tr>
    <td></td>
    <td align="right">
     <input type="submit" value="Submit" class="button">
     </td>
  </tr>
</table>
</form>

<form action='tempconvert.asmx/CelsiusToFahrenheit'
method="post" target="_blank">
<table>
  <tr>
    <td>Celsius to Fahrenheit:</td>
    <td>
    <input class="frmInput" type="text" size="30" name="Celsius">
    </td>
  </tr>
  <tr>
    <td></td>
    <td align="right">
    <input type="submit" value="Submit" class="button">
    </td>
  </tr>
</table>
</form>

代入"tempconvert.asmx"などのWebサービスのアドレスを使用して:

http://www.example.com/xml/tempconvert.asmx