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

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

3.3.9 WSDLの生成時および定義時の注意事項

WSDLを生成および定義するときに注意が必要な内容について説明します。

<この項の構成>
(1) ソースコード生成時のWSDL検証機能の実行について
(2) Javaインタフェースのメソッドのパラメタ名と生成されるWSDLの対応
(3) WSDLファイル名に使用できない文字
(4) WSDLを手動で定義する場合の注意
(5) extension要素を使用した場合のメッセージ形式について
(6) 他社クライアントおよび他社サービスと通信する場合のデータ型に関する注意
(7) 派生データ型の定義に関する注意
(8) nillable属性に"false"を指定した場合の動作について

(1) ソースコード生成時のWSDL検証機能の実行について

WSDL2Javaコマンドを実行してソースコードを生成するときは,WSDL検証機能を有効にしてください。WSDL検証機能は,コマンド実行時に-Cオプションを指定することで有効にできます。

WSDL検証機能については,「9.2 WSDL2Javaコマンド(ソースコードの生成)」を参照してください。

(2) Javaインタフェースのメソッドのパラメタ名と生成されるWSDLの対応

Java2WSDLコマンドを実行してJavaインタフェースからWSDLを生成する場合,Javaインタフェースのメソッドのパラメタ名は,WSDLに「inXX」(XXは整数)の名称でマッピングされます。

Javaインタフェースおよび生成されるWSDLの例を示します。

(3) WSDLファイル名に使用できない文字

次に示す文字は,WSDLのファイル名に使用できません。

? : * # % | < > “

(4) WSDLを手動で定義する場合の注意

WSDLを手動で定義する場合は,CosminexusでサポートしているWSDL1.1仕様の範囲で記述してください。CosminexusでサポートしているWSDL1.1仕様の範囲については「12.2 WSDL1.1との対応」を参照してください。

(5) extension要素を使用した場合のメッセージ形式について

次に示す例のように,多段的にextension baseを使用した場合,多段的なcomplexType要素の一部が上位要素の属性とみなしたSOAPメッセージが送信されます。

(6) 他社クライアントおよび他社サービスと通信する場合のデータ型に関する注意

他社クライアントまたは他社サービスと通信するためのWSDL定義を作成する場合,双方で扱えるデータ型をWSDL定義に記述してください。

SOAP通信基盤で扱えるデータ型については,「12.2.3 XML Schemaのデータ型のサポート範囲」を参照してください。他社クライアントまたは他社サービスで扱えるデータ型については,各製品のマニュアルを参照してください。

(7) 派生データ型の定義に関する注意

データ型を派生させるために使用する,制限(restriction),ユニオン(union),およびリスト(list)の中で,SOAP通信基盤で有効になるのは制限(restriction)の列挙(enumeration)だけです。WSDL定義に派生データ型を定義する場合,またはWSDL定義からソースを生成する場合に,列挙(enumeration)以外は使用しないでください。列挙(enumeration)以外を使用した場合,指定値が有効にならなかったり,生成されたソースがコンパイルできなかったりする場合があります。

(8) nillable属性に"false"を指定した場合の動作について

WSDL定義でnillable属性に"false"を指定した変数(データ型)にnullを設定しても,SOAPメッセージの送受信時エラーにはなりません。その場合,他社製品と通信できない場合があります。nullを指定した場合のSOAPメッセージの例を次に示します。

 
<変数名 xsi:nil="true"/>