Hitachi

Cosminexus V11 アプリケーションサーバ SOAPアプリケーション開発の手引


3.3.8 WSDLのインポート

wsdl:import要素を定義することで,ほかのWSDLファイルをインポートできます。インポートできるのは,インポート元とインポート対象とを合わせて2階層までです。インポート対象に,さらにwsdl:import要素を定義することはできません。

WSDLのインポートの概念を次の図に示します。

図3‒16 WSDLのインポート

[図データ]

〈この項の構成〉

(1) wsdl:import要素の書式

wsdl:import要素の書式と属性を示します。

書式
<wsdl:import namespace="インポート対象の名前空間のURI"
             location="インポート対象のWSDLのファイル名"/>
属性
  • namespace

    インポート対象の名前空間のURIを定義します。この属性の定義は必須です。

  • location

    インポート対象のWSDLのファイル名を定義します。この属性の定義は必須です。

    location属性に定義できるのは相対パスだけです。したがって,絶対パスや,http://やftp://などのプロトコルで始まるURIは定義できません。また,相対パスにショートカットを含めることはできません。

    相対パスを記述するときは,「3.3.6(2) xsd:import要素の書式」に記載された「相対パスに指定する文字に関する注意」の内容に注意してください。

(2) wsdl:import要素の構文

wsdl:import要素の構文,および定義時の注意事項を示します。

(a) WSDLをインポートする場合の要素の組み合わせ

WSDLをインポートする場合,インポート元またはインポート対象のどちらかのWSDLに,wsdl:binding要素を定義する必要があります。次の表に,WSDLをインポートする場合に定義が必要な要素の組み合わせを示します。

表3‒8 WSDLをインポートする場合の要素の組み合わせ

インポート元

インポート対象

wsdl:binding

wsdl:service

wsdl:types

wsdl:message

wsdl:portType

wsdl:service

wsdl:types

wsdl:message

wsdl:portType

wsdl:binding

注※

wsdl:types要素を省略する場合は不要です。

(b) wsdl:import要素の記述位置

wsdl:import要素は,次に示す規則に従って記述してください。

  • wsdl:definitions要素の子要素として記述してください。

  • wsdl:documentation要素よりもあとに記述してください。

  • wsdl:documentation要素を除く,ほかのすべての要素よりも前に記述してください。

(c) インポート対象のWSDLの定義

インポート対象のWSDLでは,ルート要素をwsdl:definitions要素にしてください。また,インポート対象のwsdl:definitions要素のtargetNamespace属性は,次に示す規則に従って記述してください。

  • インポート元のwsdl:import要素のnamespace属性と同じ値を定義してください。

  • インポート元のtargetNamespace属性と異なる値を定義してください。

(d) 複数のWSDLのインポート

wsdl:definitionsの子要素にwsdl:import要素を複数行記述することで,複数のWSDLをインポートできます。ただし,インポート対象のWSDLで名前空間(namespace属性の値)またはファイル名(location属性の値)のどちらかが重複した場合は,インポートできません。

(3) wsdl:import要素の定義例

WSDLをインポートする場合の定義例を示します。