サービス・インターフェースとして使用される WSDL ファイルの要求エレメントの基礎として、プロバイダー・アプリケーションが予想する XML メッセージ用のスキーマが必要になります。
例えば、プロバイダー・アプリケーションは、アクションとともにメッセージを受け取る可能性があり、それらのメッセージにはそのアクションの実行対象となるアイテムが含まれています。 以下の例では、サービス・オペレーションになるアクション SaveItem が含まれています。
<?xml version="1.0" encoding="UTF-8"?> <schema targetNamespace="http://ServiceFacade_RR" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://ServiceFacade_RR"> <complexType name="Item"> <sequence> <element name="Name" type="string"></element> <element name="Code" type="string"></element> <element name="Description" type="string"></element> <element name="Location" type="string"></element> </sequence> </complexType> <element name="SaveItem" type="tns:SaveItem"></element> <complexType name="SaveItem"> <sequence> <element name="Item" type="tns:Item"></element> </sequence> </complexType> </schema>
関連した WSDL は、プロバイダー・スキーマが必要とする最上位エレメントに対応するエレメントで、入力メッセージを定義する必要があります。 以下のフラグメントは、前述のプロバイダー・スキーマに対応しています。
<wsdl:message name="SaveItemRequestMsg"> <wsdl:part name="SaveItemRequest" element="tns:SaveItem"></wsdl:part> </wsdl:message>
確認応答用のスキーマ (パターン固有のネーム・スペースが指定されている) は以下のとおりです。
<?xml version="1.0" encoding="UTF-8"?> <schema targetNamespace="<instance specific>" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://<instance specific>" "> <complexType name="Ack"> <sequence> <element name="acknowledgment" type="string"></element> </sequence> </complexType> <element name="Response" type="tns:Ack"> </element> </schema>
応答メッセージを定義する WSDL エントリーは、以下の応答を参照している必要があります。
<wsdl:message name="SaveItemResponseMsg"> <wsdl:part name="Response" element="tns:Response"></wsdl:part> </wsdl:message>