3.4.3 web.xmlをWARファイルに含めない場合の動作
Application ServerのJAX-WS機能では,webserver.container.jaxws.webservice.no_webxml.enabledプロパティに"strict",または"lax"を設定してweb.xmlをWARファイルに含めない場合,Webサービス呼び出し時に次に示す内容のweb.xmlがあるものとして処理されます。
<?xml version="1.0" encoding="UTF-8"?> <!-- web-app要素を記述する --> <description>Cosminexus JAX-WS Default web.xml</description> <display-name>Cosminexus_JAX_WS_Default_web_xml</display-name> <listener> <listener-class> com.cosminexus.xml.ws.transport.http.servlet.WSServletContextListener </listener-class> </listener> <servlet> <description>Endpoint servlet for Cosminexus JAX-WS</description> <display-name>Endpoint_servlet_for_Cosminexus_JAX_WS</display-name> <servlet-name>CosminexusJaxwsServlet</servlet-name> <servlet-class> com.cosminexus.xml.ws.transport.http.servlet.WSServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>CosminexusJaxwsServlet</servlet-name> <url-pattern>"/"+Webサービス1のサービス名</url-pattern> <url-pattern>"/"+Webサービス2のサービス名</url-pattern> : <url-pattern>"/"+Webサービスnのサービス名</url-pattern> </servlet-mapping> <session-config> <session-timeout>60</session-timeout> </session-config> </web-app>
url-pattern要素の「" / "+Webサービス1のサービス名」は,次の属性の値に,プレフィクスとして「/」(スラッシュ)を付けた文字列が定義されます。
-
Webサービス実装クラスのjavax.jws.WebServiceアノテーションのserviceName属性の値
-
プロバイダ実装クラスのjavax.xml.ws.WebServiceProviderアノテーションのserviceName属性の値
WARファイル内に格納したすべてのWebサービス実装クラスまたはプロバイダ実装クラスについて,url-pattern要素があるかのように動作します。
webserver.container.jaxws.webservice.no_webxml.enabledプロパティに"lax"を設定してweb.xmlをWARファイルに含める場合でも,「3.4.1 Webサービスの実行に必要な定義」の内容が正しくweb.xmlに記述されていないときは,web.xmlが含まれない場合と同様に,上記に示す内容のweb.xmlがあるものと仮定してWebサービスを呼び出します。なお,このとき仮定されるweb.xmlは,上記の内容からsession-config要素以下を除いた内容です。
- 注意事項
-
-
JAX-WSエンジンが仮定したweb.xmlは,実際にWARファイル内に生成されるわけではありません。Webサービスが呼び出される場合を除いて,すべてこの仮定はないものとして扱われます。
- (例)
-
cjgetapppropコマンドで取得できる属性ファイルには,web.xmlに関する情報は含まれません。また,webserver.container.jaxws.webservice.no_webxml.enabledプロパティに"lax"を設定して不正な内容のweb.xmlをWARファイルに含めた場合は,実際に含まれているweb.xmlに関する情報だけが取得できます。
-
webserver.container.jaxws.webservice.no_webxml.enabledプロパティに"lax"を設定して不正な内容のweb.xmlをWARファイルに含めた場合,JAX-WSエンジンがWebサービス呼び出し時に仮定するweb.xmlの内容が,実際のweb.xmlに記載されるわけではありません。
-
webserver.container.jaxws.webservice.no_webxml.enabledプロパティに"lax"を設定する場合,「3.4.1 Webサービスの実行に必要な定義」の内容をすべて定義したweb.xmlをWARファイルに含めてください。一部だけを定義したweb.xmlをWARファイルに含めた場合の動作は保証されません。
-