Apcoordinator ユーザーズガイド
目次 前ページ次ページ

第2部 Apcoordinatorコアの機能> 第8章 Webサービスの呼び出し> 8.1 Apcoordinatorで作成したWebサービスの呼び出し

8.1.2 SOAPCallFactoryを使った呼び出し

SOAPCallFactoryを使った呼び出しは、以下の手順で行います。

  1. DispatchContextクラスからSOAPCallFactoryクラスのオブジェクトを取得します。
  2. SOAPCallFactoryクラスのcreateUjiServiceCallメソッドを呼び出し、サービスのURL、サービス識別名、利用API種別を引数にしてUjiServiceCallのオブジェクトを取得します。 サービス識別名には、呼び出し対象のSOAPサーバアプリケーションが使用しているSOAPサーバに応じて以下を指定します。
  3. UjiServiceCallクラスのinvokeメソッドでサービスを呼び出します。このとき、引数としてデータBeanとコマンド名を指定します。

 記述例は以下のようになります。

・Interstageの場合

import com.fujitsu.uji.soap.SOAPCallFactory;
import com.fujitsu.uji.soap.UjiServiceCall;
  
public void someMethod(DispatchContext context, XmlDataBean dataBean) {
  ...
  // CallFactoryの取得
  SOAPCallFactory callFactory=(SOAPCallFactory)context.getCallFactory(CallFactory.SOAP);
  
  // UjiServiceCallの取得
  String url = new String("http://some.host/service");
  UjiServiceCall call =callFactory.createUjiServiceCall(url,null,SOAPCallFactory.INTERSTAGE_JAXM);
  
  // サービスの呼び出し
  XmlDataBean response=(XmlDataBean)call.invoke(dataBean,verb);
  ...
}

・Apache SOAPの場合
import com.fujitsu.uji.soap.SOAPCallFactory;
import com.fujitsu.uji.soap.UjiServiceCall;
  
public void someMethod(DispatchContext context, XmlDataBean dataBean) {
  ...
  // CallFactoryの取得
  SOAPCallFactory callFactory=(SOAPCallFactory)context.getCallFactory(CallFactory.SOAP);
  
  // UjiServiceCallの取得
  String url = new String("http://some.host/service");
  UjiServiceCall call = callFactory.createUjiServiceCall(url,"urn:foobar", SOAPCallFactory.APACHE);
    
  // サービスの呼び出し
  XmlDataBean response=(XmlDataBean)call.invoke(dataBean,verb);
  ...
}

目次 前ページ次ページ

All Rights Reserved, Copyright © 富士通株式会社 2000-2005