Cosminexus SOAPアプリケーション開発ガイド

[目次][用語][索引][前へ][次へ]

3.3.3 生成されるWSDLの例

次のJavaメソッドに対して,Java2WSDLコマンドを実行したときに生成されるWSDLの例を示します。

public UserData getUserData(String user_no);
<この項の構成>
(1) RPC/LITERALを指定した場合
(2) RPC/ENCODEDを指定した場合
(3) DOCUMENT/LITERALを指定した場合

(1) RPC/LITERALを指定した場合

WSDLのスタイルで「RPC」,use属性で「LITERAL」を指定した場合に生成されるWSDLの一部とSOAPメッセージの例を示します。

図3-6 RPC/LITERALを指定した場合のWSDLの生成例

[図データ]

WSDLのoperation要素のname属性値が,SOAPメッセージのボディ直下の要素に対応します(図の(1))。WSDLのpart要素が,SOAPメッセージのオペレーション名を表す要素(<getUserData>)の子要素に対応します(図の(2))。

また,WSDLのbinding要素以下のstyle属性が"rpc",use属性が"literal"になります。

(2) RPC/ENCODEDを指定した場合

WSDLのスタイルで「RPC」,use属性で「ENCODED」を指定した場合に生成されるWSDLの一部とSOAPメッセージの例を示します。

図3-7 RPC/ENCODEDを指定した場合のWSDLの生成例

[図データ]

WSDLのoperation要素のname属性値が,SOAPメッセージのボディ直下の要素に対応します(図の(1))。WSDLのpart要素が,SOAPメッセージのオペレーション名を表す要素(<getUserData>)の子要素に対応します(図の(2))。SOAPメッセージにはエンコード情報(xsi:type="xsd:string")が含まれます。

また,WSDLのbinding要素以下のstyle属性が"rpc",use属性が"encoded"になります。

(3) DOCUMENT/LITERALを指定した場合

WSDLのスタイルで「DOCUMENT」,use属性で「LITERAL」を指定した場合に生成されるWSDLの一部とSOAPメッセージの例を示します。

図3-8 DOCUMENT/LITERALを指定した場合のWSDLの生成例

[図データ]

WSDLのpart要素のelement属性で参照している要素(図の(1))が,SOAPメッセージのボディの子要素に対応します(図の(2))。

また,WSDLのbinding要素以下のstyle属性が"document",use属性が"literal"になります。

wrapped形式のWSDL
Java2WSDLコマンド実行時に,DOCUMENT/LITERALを指定して生成されたWSDLでは,オペレーションの引数がoperation要素のname属性の値から命名されたelement要素(次の図の(1))でラップされます(次の図の(2))。このような形式のWSDLをwrapped形式と呼びます。

図3-9 wrapped形式のWSDLの例

[図データ]

nonwrapped形式のWSDL
wrapped形式でないDOCUMENTスタイルのWSDLをnonwrapped形式と呼びます。