第1章 WSDL コントラクトの紹介

概要

WSDL ドキュメントは、Web サービス記述言語といくつかの可能な拡張機能を使用してサービスを定義します。ドキュメントには論理的な部分と具体的な部分があります。コントラクトの抽象的な部分は、実装に中立なデータ型とメッセージの観点からサービスを定義します。ドキュメントの具体的な部分は、サービスを実装するエンドポイントがシステム外の世界とどのように相互作用するかを定義します。

サービスを設計するための推奨されるアプローチは、コードを記述する前に、WSDL および XML スキーマでサービスを定義することです。WSDL ドキュメントを手動で編集するときは、ドキュメントが有効であり、正しいことを確認する必要があります。これを行うには、WSDL にある程度精通している必要があります。この規格は、W3C Web サイト (www.w3.org) にあります。

1.1. WSDL ドキュメントの構造

概要

WSDL ドキュメントは、ルート definition 要素に含まれる要素のコレクションを指します。これらの要素は、サービスと、そのサービスを実装するエンドポイントにアクセスする方法を記述します。

WSDL ドキュメントには次の 2 つが含まれます。

  • 実装中立的な用語でサービスを定義する 論理部分
  • サービスを実装するエンドポイントがネットワーク上でどのように公開されるかを定義する 具体的な部分

論理部分

WSDL ドキュメントの論理部分には、typesmessage、および portType 要素が含まれます。サービスのインターフェイスとサービスによって交換されるメッセージについて説明します。types 要素内では、メッセージを設定するデータ構造を定義する XML スキーマが使用されます。サービスで使用されるメッセージの構造を定義するために、多くの message 要素が使用されます。portType 要素には、サービスによって公開される操作によって送信されるメッセージを定義する 1 つ以上の operation 要素が含まれます。

具体的な部分

WSDL ドキュメントの具体的な部分には、binding および service 要素が含まれます。サービスを実装するエンドポイントが、システムの外にどのように接続するかを説明します。binding 要素は、message 要素によって記述されるデータユニットが、SOAP などの具体的なオンザワイヤデータフォーマットにどのようにマッピングされるかを記述します。service 要素には、サービスを実装するエンドポイントを定義する 1 つ以上の port 要素が含まれます。