Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編
Webサービスを利用したサービス部品の適用範囲を次に示します。
表2-10 プリフィックスと名前空間URIの対応
プリフィックス | 名前空間URI |
---|---|
wsdl | http://schemas.xmlsoap.org/wsdl/ |
xsd | http://www.w3.org/2001/XMLSchema |
soap | http://schemas.xmlsoap.org/wsdl/soap/ |
soap12 | http://schemas.xmlsoap.org/wsdl/soap12/ |
wsi | http://ws-i.org/profiles/basic/1.1/xsd |
Webサービスを利用したサービス部品の前提仕様について,SOAP1.1モードの場合およびSOAP1.1/1.2併用モードの場合に分けて説明します。
SOAPメッセージは,SOAPヘッダとSOAPボディで構成されます。SOAPヘッダにはメッセージの付加的な情報(識別情報など)が含まれ,SOAPボディにはメッセージ本体が含まれています。
Webサービスを利用したサービス部品では,SOAPメッセージの形式として次の条件を満たしている必要があります。
なお,08-53よりも前のバージョンのサービスプラットフォームでは,soap:header要素を定義したWSDLを基にSOAPアダプタを作成できますが,soap:header要素は無視されます。
SOAP1.1モードを使用する場合のWSDLの記述形式,およびWSDL定義時の注意事項について説明します。WSDL1.1仕様のサポート範囲については,「2.6.1(5) WSDL1.1仕様のサポート範囲」を参照してください。
wsdl:types要素は,SOAPメッセージで使用する型に関する情報を定義する要素です。wsdl:types要素は,次に示す規則に従って記述してください。
xsd:schema要素は,XMLスキーマを記述する要素です。xsd:schema要素は,wsdl:types 要素の子要素として記述してください。XMLスキーマを記述するときの規則については,「2.6.5 XMLスキーマの適用範囲」を参照してください。
wsdl:import要素は,WSDLをインポートする場合に定義する要素です。wsdl:definitions要素の子要素として記述してください。wsdl:import要素は,次に示す規則に従って記述してください。
soap:binding要素は,SOAPバインディングを定義する要素です。soap:binding要素は,次に示す規則に従って記述してください。
wsdl:operation要素は,次に示す規則に従って記述してください。
soap:operation要素は,SOAPバインディングでのオペレーションの情報を定義する要素です。soap:operation要素は,次に示す規則に従って記述してください。
soap:body要素は,SOAPメッセージのsoap:body要素以下のメッセージを定義する要素です。soap:body要素は,次に示す規則に従って記述してください。
なお,style属性が「document」の場合,parts属性を記述することはできますが,無視されます。
wsdl:fault要素はフォルトを定義する要素です。wsdl:fault要素は,次に示す規則に従って記述してください。
soap:fault要素は,SOAPメッセージのsoap:fault要素に含まれるdetail子要素以下のメッセージを定義する要素です。soap:fault要素は,次に示す規則に従って記述してください。
soap:header要素は,SOAPメッセージのsoap:header要素以下のメッセージを定義する要素です。soap:header要素は,次に示す規則に従って記述してください。
wsdl:service 要素は,SOAP サービスを定義する要素です。1個のwsdl:service要素にwsdl:port要素は必ず1個記述してください。2個以上は記述できません。
添付ファイルを使用するためのWSDLの定義は記述できません。
SOAP1.1/1.2併用モードを使用する場合,マニュアル「アプリケーションサーバ Webサービス開発ガイド」の「4.3.1 WSDLファイルを作成する」を参考にしてWSDLを記述してください。
ただし,マニュアル「アプリケーションサーバ Webサービス開発ガイド」の「4.3.1 WSDLファイルを作成する」に記載されている内容と,サービスプラットフォームの動作が異なる点があります。SOAP1.1/1.2併用モードを使用する場合のWSDL定義時の注意事項を示します。
WSDL定義のスタイルは,document/literalで定義してください。
wsdl:port要素のname属性が重複している場合エラーが発生します。すべてのWSDLでname属性を一意にしてください。
wsdl:types要素の子要素としてスキーマを定義する場合,コメントの記述はxsd:annotationを利用して記述してください。
また,サービスアダプタでWSDLから作成される電文フォーマットの名前空間宣言に,JAXBの名前空間「http://java.sun.com/xml/ns/jaxb」が付加されます。
wsdl:operation要素のname属性は255バイト以下で記述してください。
サービス部品側にSOAP通信基盤を利用している場合は,wsdl:fault要素のname属性とwsdl:part要素の参照するxsd:element要素のname属性と一致させてください。
WS-I Attachments Profile - Version 1.0で規定されたwsi:swaRef形式で記述できます。マニュアル「アプリケーションサーバ Webサービス開発ガイド」の「28.3.1 添付ファイル使用時のWSDLの記述(wsi:swaRef形式)」に記載されている内容に従ってください。ただし,xsd:import要素のschemaLocation属性にファイルを指定する場合,「http://ws-i.org/profiles/basic/1.1/swaref.xsd」で公開されているスキーマファイルと同じ内容のファイルを指定してください。
表2-11 Basic Profileに基づいた検証によって発生する警告(エラー)
項番 | 警告メッセージID | 対応するエラーID | 発生条件 |
---|---|---|---|
1 | KDJW51209-W | KDJW51208-E | soap:body要素にnamespace属性を記述したときに発生します。 |
2 | KDJW51211-W | KDJW51210-E | soap:fault要素にnamespace属性を記述したときに発生します。 |
3 | KDJW51213-W | KDJW51212-E | 拡張要素にwsdl:required属性を記述したときに発生します。 |
SOAP1.1モードを使用する場合のWSDL1.1仕様のサポート範囲を次の表に示します。
SOAP1.1/1.2併用モードを使用する場合のWSDL1.1仕様のサポート範囲については,マニュアル「アプリケーションサーバ Webサービス開発ガイド」の「20.1 WSDL 1.1仕様のサポート範囲」を参照してください。
表2-12 WSDL1.1仕様のサポート範囲
分類 | サポート | 備考 | |
---|---|---|---|
大分類 | 小分類 | ||
サービス定義:WSDLドキュメント構造 | Document Naming and Linking | ○ | 名前空間のスコープについて規定しています。 |
Authoring Style(部品のimport要素による取り込み) | ○ | ほかのファイルのimport要素による取り込みについて規定しています。 | |
Language Extensibility and Binding | × | wsdl:required属性のデプロイについて規定しています。 | |
Documentation | ○ | 要素内のコメントについて規定しています。 | |
サービス定義:wsdl:types | ○ | 扱うデータ型について規定しています。 | |
サービス定義:wsdl:message | ○ | メッセージの論理定義を規定しています。 | |
サービス定義:ポートタイプ | One-way Operation | × | メッセージの一方向操作について規定しています。 |
Request-response Operation | ○ | メッセージの要求/応答操作について規定しています。 | |
Solicit-response Operation | × | メッセージの送信要求/応答操作について規定しています。 | |
Notification Operation | × | メッセージの通知操作について規定しています。 | |
Names of Elements within an Operation | ○ | inputおよびoutput要素のname属性を示します。オーバーロードはできません。WSDL内では名称を一意にする必要があります。 | |
Parameter Order within an Operation | ○ | 操作内のパラメタの順序について規定しています。parameterOrder属性によって,パラメタのリストを指定できます。 | |
サービス定義:wsdl:binding | ○ | メッセージ形式とプロトコルの詳細の定義を規定しています。 | |
サービス定義:wsdl:port | ○ | サービスの物理的定義について規定しています。 | |
サービス定義:wsdl:service | ○ | サービスの位置について規定しています。1つのWSDLに複数のSOAPサービスを対応させることはできません。 | |
SOAPバインディング | soap:binding | ○ | SOAP形式のバインディングを規定しています。 |
soap:operation | ○ | SOAPメッセージ内のSOAPオペレーションへの情報について規定しています。 | |
soap:body | ○ | SOAPメッセージ内のSOAPボディのメッセージ部分の表示方法について規定しています。parts属性を記述できますが,無視されます。 | |
soap:fault | ○ | SOAPメッセージ内のSOAPフォルトの内容について規定しています。 | |
soap:header | ○ | SOAPメッセージ内のSOAPヘッダ要素内の内容について規定しています。 | |
soap:headerfault | × | ||
soap:address | ○ | port要素のアドレスについて規定しています。 | |
MIMEバインディング | mime:content | × | MIMEタイプを規定しています。 |
mime:multipartRelated | × | MIMEパートの任意のセットを集約しています。 | |
mime:part | × | 個々のMIMEパートを規定しています。 | |
mime:mimeXml | × | 特定のスキーマを持っているXMLペイロードを規定しています。SOAPには準拠していません。 |
サービスプラットフォームの実行環境とサービス部品の間では,セッションを維持するように設定(DeployScopeに「Session」,「Application」を設定)しても,ステートフルな呼び出しはできません。サービスアダプタでは,常に「Request」での呼び出しです。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.