WebサービスクライアントアプリケーションからJNDIを使用してServiceをlookupする場合、クライアントアプリケーションの形態に応じて以下のdeployment descriptorにservice reference記述を追加する必要があります。
WebアプリケーションからServiceをlookupする場合・・・web.xml
EJBアプリケーションからServiceをlookupする場合・・・ejb-jar.xml
J2EEアプリケーションクライアントからServiceをlookupする場合・・・application-client.xml
対象となるdeployment descriptorに<service-ref>タグを追加し、Webサービス参照についての定義を記述してください。
以下の表にないタグについては、“7.5 Webアプリケーション環境定義ファイル(deployment descriptor)”、“4.13 J2EEアプリケーションクライアントのdeployment descriptorファイルの詳細設定”、または“4.9 deployment descriptorファイルへの記述”を参照してください。
定義する内容
要素名  | 説明  | タグの  | 複数の  | 
|---|---|---|---|
service-ref  | Webサービス参照についての定義を記述します。  | ○  | ○  | 
service-ref-name  | JNDIに登録する名前を定義します。“service/”で始まるように定義してください。  | ×  | ×  | 
service-interface  | Serviceインタフェースの完全修飾クラス名を定義します。  | ×  | ×  | 
wsdl-file  | iswsgenコマンドまたはInterstage Studioを使用してスタブおよびクライアントアプリケーションを作成した場合、本要素は省略してください。  | ○  | ×  | 
jaxrpc-mapping-file  | <WSDLファイル名>_mapping.xmlをモジュールのルートから相対パスで定義します。wsdl-fileを指定した場合は本要素は省略不可です。  | ○  | ×  | 
注意
<wsdl-file>を指定した場合に生成されるクラス名は、“_isws_パッケージ名を除いたクラス名”となります(例:stock.server._isws_StockQuoteProviderPortSoapBindingStub)。配備するモジュール内に同名のクラスが存在した場合は上書きされます。
<service-interface>要素に“javax.xml.rpc.Service”を指定することはできません。WSDLから生成されたサービス固有のServiceインタフェース(javax.xml.rpc.Serviceを継承したインタフェース)のクラス名を指定してください。
JDKがインストールされていない場合、<wsdl-file>を指定することはできません。
例
WebアプリケーションからServiceをlookupする場合(web.xml)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd version="2.4">
   <display-name>StockQuote Client</display-name>
       ...
   <service-ref>
       <description>WSDL Service StockQuote </description>
       <service-ref-name>service/StockQuote</service-ref-name>
       <service-interface>stock.server.StockQuoteProviderService</service-interface>
   </service-ref>
</web-app>