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>