Web サービス・エンドポイントのカスタマイズ
ibm-ws-bnd.xml ファイルを使用して、ご使用のアプリケーション内のサーバー・プロバイダーおよびクライアントの Web サービス・エンドポイントをカスタマイズできます。
始める前に
ibm-ws-bnd.xml ファイルは、Web ベースの Web サービス・アプリケーション (WAR ファイル) の /WEB-INF ディレクトリー内、または EJB ベースの Web サービス・アプリケーション (JAR ファイル) の /META-INF ディレクトリー内になければなりません。クライアントが clientContainer で実行されている場合、ibm-ws-bnd.xml ファイルは、クライアント EAR 内の JAR ファイルの /META-INF ディレクトリーになければなりません。
このタスクについて
ibm-ws-bnd.xml ファイルを構成することで、サービス・プロバイダーとコンシューマーの両方で Web サービス・アドレス構成をオーバーライドして、Liberty にデプロイされたアプリケーション内で特定のURL を使用して Web サービスをエクスポートし、JAX-WS クライアント・アプリケーションから Web サービスをインポートすることができます。
ibm-ws-bnd.xml ファイル 内で構成できるすべての使用可能なエレメントについては、『Liberty: ibm-ws-bnd.xml ファイル』を参照してください。
手順
- サービス・プロバイダーの Web サービス・バインディングをオーバーライドします。
- Web サービス・エンドポイント・アドレスをオーバーライドします。 webservice-endpoint エレメントでは、port-component-name 属性によって識別される Web サービス・エンドポイントのエンドポイント・アドレスをオーバーライドできます。
address 属性には、ご使用のアプリケーションのコンテキスト・ルートへの相対パスを指定します。
<?xml version="1.0" encoding="UTF-8"?> <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" version="1.0"> <!-- 0 to many endpoint descriptions --> <webservice-endpoint port-component-name="Hello" address="/hiService" /> </webservices-bnd>
- EJB ベースの Web サービスのコンテキスト・ルートをオーバーライドします。 Web サービスが EJB ベースの Web サービスで、EJB アプリケーション (JAR アーカイブ) で定義されている場合、デフォルトのコンテキスト・ルートは EJB jar 名になります。ただし、http-publishing エレメントの context-root 属性を使用してデフォルト値をオーバーライドすることができます。
<?xml version="1.0" encoding="UTF-8"?> <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" version="1.0"> <!-- optional http publishing module overrides --> <http-publishing context-root="/HiServer" /> </webservices-bnd>
注: context-root 属性は、Web サービスが EJB ベースの Web サービスで、EJB JAR アーカイブで定義されている場合のみ有効になります。Web サービスが Web アプリケーション (WAR アーカイブ) で定義されている場合、それが EJB ベースの Web サービスであるかどうかにかかわらず、http-publishing エレメントの context-root 属性は無視され、このコンテキスト・ルートが常にその Web アプリケーションのコンテキスト・ルートになります。
- Web サービス・エンドポイント・アドレスをオーバーライドします。 webservice-endpoint エレメントでは、port-component-name 属性によって識別される Web サービス・エンドポイントのエンドポイント・アドレスをオーバーライドできます。
address 属性には、ご使用のアプリケーションのコンテキスト・ルートへの相対パスを指定します。
- クライアント・アプリケーションの Web サービス・バインディングをオーバーライドします。
- WSDL 文書のロケーションをオーバーライドします。 service-ref エレメントでは、Web サービス・クライアント・アプリケーション内の Web サービス参照の WSDL ロケーションをオーバーライドできます。
wsdl-location 属性には絶対 URI (HTTP またはファイル・プロトコルのいずれか) を指定しますが、クライアント・アプリケーションのルートを基準とした相対 URI を指定することもできます。以下に例を示します。<?xml version="1.0" encoding="UTF-8"?> <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" version="1.0"> <service-ref name="services/hello" wsdl-location="http://localhost:9080/HiServer/hiService?wsdl" /> </webservices-bnd>
<?xml version="1.0" encoding="UTF-8"?> <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" version="1.0"> <service-ref name="services/hello" wsdl-location="WEB-INF/wsdl/hiService.wsdl" /> </webservices-bnd>
- ポート・アドレスをオーバーライドします。 port エレメントでは、Web サービス・クライアントの Web サービス参照内のポートのアドレスをオーバーライドできます。
port エレメントの address 属性には、Web サービス・ポートの絶対 URI を指定します。参照先の Web サービスにポートが 1 つしかない場合、service-ref エレメントの port-address 属性を使用できます。以下に例を示します。<?xml version="1.0" encoding="UTF-8"?> <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" version="1.0"> <service-ref name="services/hello" wsdl-location="WEB-INF/wsdl/hiService.wsdl"> <port name="HelloPort" namespace="http://server.ejb.hello.sample.jaxws.ws.ibm.com/" address="http://localhost:9080/HiServer/hiService" /> </service-ref> </webservices-bnd>
<webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" version="1.0"> <service-ref name="services/hello" port-address="http://localhost:9080/HiServer/hiService" /> </webservices-bnd>
注: service-ref エレメントの port-address 属性と port エレメントの address 属性がどちらも指定されている場合、 port エレメントの address 属性が有効になります。
- WSDL 文書のロケーションをオーバーライドします。 service-ref エレメントでは、Web サービス・クライアント・アプリケーション内の Web サービス参照の WSDL ロケーションをオーバーライドできます。


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_dep_jaxws_binding
ファイル名: twlp_dep_jaxws_binding.html