20.2 WSDL作成時の注意事項

WSDL作成時の注意事項について説明します。

<この節の構成>
(1) NCName型に指定できる値
(2) SOAPボディおよびSOAPヘッダと参照先のwsdl:part要素の記述について
(3) soap:address要素またはsoap12:address要素のlocation属性に指定できる値

(1) NCName型に指定できる値

Application ServerのJAX-WS機能では,XML Schema仕様のxsd:NCName型の制限に違反しないかぎり,半角英数字(0~9,A~Z,a~z)およびアンダースコア(_)を使用できます。半角英数字およびアンダースコア以外の文字を使用した場合,動作は保証されません。

(2) SOAPボディおよびSOAPヘッダと参照先のwsdl:part要素の記述について

wsdl:input要素とwsdl:output要素の子要素として記述するSOAPボディおよびSOAPヘッダの記述と,SOAPボディおよびSOAPヘッダから参照されるwsdl:part要素の記述について説明します。

以降では,SOAP 1.1仕様の場合を例に説明します。SOAP 1.2仕様の場合は,名前空間や要素名,属性値などを読み替えてください。

(a) SOAPヘッダを定義しない場合

soap:body要素にparts属性を記述する場合でも,記述しない場合でも,親要素となるwsdl:input要素またはwsdl:output要素から参照されるwsdl:message要素の子要素には,wsdl:part要素を1個だけ記述してください。

soap:header要素を記述しない場合の記述例を次の図に示します。

図20-3 soap:header要素を記述しない場合の記述例

[図データ]

(b) SOAPヘッダを定義する場合

soap:header要素を記述する場合,次に示す内容に従って定義してください。

soap:header要素を記述する場合の記述例を次の図に示します。

図20-4 soap:header要素を記述する場合の記述例

[図データ]

(3) soap:address要素またはsoap12:address要素のlocation属性に指定できる値

soap:address要素またはsoap12:address要素のlocation属性には,次に示す形式のURLを指定できます。

注※1
名前空間としては,http://またはhttps://だけ指定できます。そのほかのプロトコルは指定できません。http://およびhttps://以外のプロトコルを指定した場合,動作は保証されません。
注※2
RFC 2396仕様の規則に従った文字列を指定できます。また,RFC 2732(IPv6アドレス)仕様の規則に従った文字列も指定できます。
ただし,次の形式は指定できません。次の形式で指定した場合,動作は保証されません。
  • クエリストリング (例)http://example.com/?a=b
  • アンカー (例)http://example.com/index.html#anchor
  • ポート番号 (例)http://example.com:8080/
  • ユーザ名/パスワード (例)http://user:password@example.com
  • パーセントエンコードされた文字 (例)http://%E4%BD%BF%E7%94%A8
注※3
半角数字0~9だけを使用した文字列を指定できます。そのほかの文字を指定した場合,動作は保証されません。
注※4
RFC 2396仕様の規則に従った文字列を指定できます。また,パーセントエンコードされた文字((例)http://%E4%BD%BF%E7%94%A8)も指定できます。