Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第4部 Webサービス編> 第18章 Webサービスの開発> 18.2 Webサービスを呼び出す場合(クライアント機能)の開発

18.2.3 Webサービスクライアントアプリケーションを開発する

 Webサービスクライアントは、WSDLから生成したスタブを利用してWebサービスを呼び出す処理を行う任意のクラスです。

 WebサービスクライアントがWebサービスを呼び出す方法は、以下の二通りあります。

 Webサービスを呼び出す処理では、以下のオブジェクトを利用します。

■処理の流れ

◆JAX-RPCのServiceFactoryクラスを使用してServiceオブジェクトを取得する方法

 ServiceFactoryクラスを使用してServiceオブジェクトを取得する方法は任意のJavaアプリケーションで利用可能です。この場合、以下の手順でWebサービスを呼び出します。

  1. ServiceFactoryオブジェクトを生成する
  2. ServiceFactoryオブジェクトからServiceオブジェクトを取得する
  3. Serviceオブジェクトからスタブオブジェクトを取得する
  4. スタブオブジェクトのメソッドを呼び出す


 Serviceインタフェースのクラス名が“StockQuoteProviderService”、サービスエンドポイントインタフェースのクラス名が“StockQuoteProvider”、呼び出すWebサービスのオペレーションの名前が“getLastTradePrice”の場合についての処理例です。

ServiceFactory sf = ServiceFactory.newInstance();//(1)
StockQuoteProviderService sqs = (StockQuoteProviderService) sf.loadService(StockQuoteProviderService.class);//(2)
StockQuoteProvider sqp = sqs.getStockQuoteProviderPort();//(3)
float price = sqp.getLastTradePrice(tickerID);//(4)

◆JNDIを使用してServiceオブジェクトをlookupする場合

 WebアプリケーションまたはEJBアプリケーション、J2EEアプリケーションクライアントからWebサービスを呼び出す場合、JNDIを使用してServiceオブジェクトをlookupすることができます。その他のJavaアプリケーションでServiceオブジェクトを取得する場合は、ServiceFactoryクラスを使用して取得してください。
 JNDIを使用する場合は以下の手順でWebサービスを呼び出します。

  1. InitialContextオブジェクトを生成する
  2. InitialContextのlookupメソッドを使用し、Serviceオブジェクトを取得する
  3. Serviceオブジェクトからスタブオブジェクトを取得する
  4. スタブのメソッドを呼び出す

 lookupの引数には、以下の文字列を指定します。

java:comp/env/[ deployment descriptorの<service-ref-name>に指定した値 ]

 deployment descriptorについては、“service reference記述”を参照してください。

InitialContext ic = new InitialContext ();   //(1)
StockQuoteProviderService sqs =
 (StockQuoteProviderService)ic.lookup("java:comp/env/service/StockQuote");  //(2)
StockQuoteProvider sqp = sqs.getStockQuoteProviderPort();  //(3)
float price = sqp.getLastTradePrice(tickerID);  //(4)

■注意事項


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED