2.5.1 Webサービスを利用したサービス部品の適用範囲
Webサービスを利用したサービス部品の適用範囲を次に示します。
- ポイント
- このマニュアルで説明するWSDLおよびXMLスキーマでは,特定のプレフィックスと名前空間URIを対応づけて記述しています。プレフィックスと名前空間URIの対応を次の表に示します。
表2-8 プレフィックスと名前空間URIの対応
プレフィックス | 名前空間URI |
---|
wsdl | http://schemas.xmlsoap.org/wsdl/ |
xsd | http://www.w3.org/2001/XMLSchema |
soap | http://schemas.xmlsoap.org/wsdl/soap/ |
-
- <この項の構成>
- (1) 前提となる仕様
- (2) SOAPの形式
- (3) WSDLの形式
- (4) ライフサイクル
(1) 前提となる仕様
Webサービスを利用したサービス部品は,次のバージョンの仕様に従って作成されている必要があります。
- SOAP 1.1
- WSDL 1.1
- WS-I Basic Profile 1.0a
(2) SOAPの形式
Webサービスを利用したサービス部品では,SOAPの形式として次の条件を満たしている必要があります。
- 要求電文および応答電文がSOAPの本文に格納されていること。
- SOAP Header要素を使用していないこと。
(3) WSDLの形式
Webサービスを利用したサービス部品では,WSDLの形式として次の条件を満たしている必要があります。
- WSDLが,マニュアル「Cosminexus SOAPアプリケーション開発ガイド」のWSDLのサポート範囲に関する内容を満たしていること。
- wsdl:types要素以下のスキーマが,「2.5.5 XMLスキーマの適用範囲」に示す条件を満たしていること。スキーマの条件の詳細については,「2.5.5 XMLスキーマの適用範囲」を参照してください。
- wsdl:import要素を使用していないこと。
- mime:multipartRelated要素を使用していないこと。
- rpc/literalの場合,wsdl:part要素のtype属性にxsd:anyTypeおよびxsd:anySimpleTypeを指定していないこと。
- バインディングとしてSOAPバインディング以外が宣言されていないこと。
- wsdl:types要素以下に存在するすべてのXMLスキーマの名前空間(targetNamespace)に,有効な値が指定されていること。
- オペレーションのstyle属性が「rpc」の場合,soap:body要素のnamespace属性に記述された名前空間に「オペレーション名」,または「オペレーション名」+「Response」をname属性として持つelement要素を指定していないこと。
- wsdl:operation要素のオペレーション名が255バイト以下であること。
- schemaLocation属性値が,相対ファイルパスで指定されていること。
- xsd:import要素にschemaLocation属性値を指定しない場合,wsdl:types要素以下のスキーマを使用して名前空間を解決していること。
- targetNamespace属性が指定されているスキーマからtargetNamespace属性が指定されていないスキーマをincludeしていないこと。
- wsdl:portType要素の子要素であるwsdl:operation要素で定義したwsdl:fault要素と対応するよう,wsdl:binding要素の子要素であるwsdl:operation要素にwsdl:fault要素を定義していること。
- faultを使用する場合,faultメッセージを定義するwsdl:part要素が,必ずelement属性でxsd:schema要素内のelement要素を参照していること。
なお,Cosminexusの開発支援コマンドであるJava2WSDLコマンドを使用して,オペレーションのstyle属性が「rpc」のWSDLファイルを生成した場合,element属性ではなく,type属性で参照するWSDLファイルが生成されます。そのため,生成されたWSDLファイルをそのまま使用しないで,変換してから使用します。変換の方法については,「4.3.2 サービス部品電文を作成する(Webサービスの場合)」の注意事項を参照してください。
Cosminexus サービスプラットフォームでfaultを使用する場合,documentスタイルのWSDLを使用することを推奨します。
- faultを使用する場合,WSDL fault名(wsdl:fault要素のname属性値)と,schema(wsdl:types内)に定義された例外型complexTypeを指すelement名※が,ネームスペースを含めて一致していること。
- 注※
- element名とは,「wsdl:faultが参照するwsdl:part要素が,element属性を用いて指定する要素」のことです。WSDLを次の順にたどって特定できる要素を指します。
- 1. wsdl:fault
- 2. wsdl:message(この要素をたどらない場合もあります)
- 3. wsdl:part
- 4. xsd:element
(4) ライフサイクル
Cosminexusサービスプラットフォームの実行環境とサービス部品の間では,セッションを維持するように設定(DeployScopeに「Session」,「Application」を設定)しても,ステートフルな呼び出しはできません。サービスアダプタでは,常に「Request」での呼び出しです。