27.2 カタログ機能の利用(Webサービスクライアントの開発時)

スタブベースのWebサービスクライアント開発時にカタログ機能を利用するには,cjwsimportコマンドの-catalogオプションでカタログファイルを指定してください。-catalogオプションについては,「14.1(2) オプション一覧」を参照してください。

cjwsimportコマンドは,引数に指定したWSDLおよびそのWSDLが参照しているXMLスキーマの名前空間やロケーションを,カタログファイルのマッピング情報に従って別のWSDLまたはXMLスキーマのロケーションにマッピングします。cjwsimportコマンドは,マッピングされたロケーションにあるWSDLおよびXMLスキーマを読み込んでJavaコードを生成します。

<この節の構成>
(1) マッピング対象
(2) 注意事項
(3) マッピング例

(1) マッピング対象

cjwsimportコマンドでの,カタログ機能のマッピング対象を表27-1に,cjwsimportコマンドの引数に指定したWSDLの記述におけるマッピング対象を表27-2に示します。

表27-1 cjwsimportコマンドでのマッピング対象

項番マッピング対象サポート
1cjwsimportコマンドの引数に指定したWSDLのロケーション×
(凡例)
×:サポートしていません。

表27-2  cjwsimportの引数に指定したWSDLの記述におけるマッピング対象

項番要素属性サポート
1wsdl:importnamespace×
2location
3xsd:importnamespace
4schemaLocation
5xsd:includeschemaLocation
(凡例)
○:サポートしています。
×:サポートしていません。
注※
マッピングの対象になるのは,xsd:import要素にnamespace属性だけ存在する場合です。xsd:import要素に,namespace属性とschemaLocation属性の両方が含まれるときは,namespace属性はマッピングの対象になりません。

(2) 注意事項

Webサービスクライアントの開発時のカタログ機能は,次に示すロケーションや要素の値を変更しません。

これらのロケーションや要素の値を変更するには,cjwsimportコマンドの-wsdllocationオプションを利用してください。詳細については,「14.1 cjwsimportコマンド」を参照してください。

(3) マッピング例

Webサービスクライアントの開発時に,カタログ機能を利用してWSDLが参照するXMLスキーマのロケーションをマッピングする例を次の図に示します。

図27-1 WSDLが参照するXMLスキーマのロケーションのマッピング例

[図データ]

[図データ]

この図の例では,WSDLにあるxsd:include要素のschemaLocation属性に,リモートのXMLスキーマのロケーションを指定しています。また,次のようにカタログ機能が無効な場合と有効な場合の流れを示しています。

カタログ機能が無効な場合
cjwsimportコマンドはリモートにあるXMLスキーマを読み込んで,Javaコードを生成します。
カタログ機能が有効な場合
カタログファイルのマッピング情報に従って,xsd:include要素のschemaLocation属性に指定したリモートのXMLスキーマのロケーションを,ローカルにあるXMLスキーマのロケーションにマッピングします。cjwsimportコマンドはローカルにあるXMLスキーマを読み込んで,Javaコードを生成します。