ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JAX-WS を使用した Web サービスの高度な機能のプログラミング
11g リリース 1 (10.3.1)
B55543-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

6 動的プロキシ クライアントの作成

動的プロキシ クライアントを使用すると、実行時に clientgen を使用することなくサービス エンドポイント インタフェース (SEI) に基づいて、Web サービス クライアントから Web サービスを動的に呼び出すことが可能になります。次の表に、動的プロキシ クライアントを作成する手順をまとめます。詳細については、(http://java.sun.com/javase/6/docs/api/javax/xml/ws/Service.html) の javax.xml.ws.Service Javadoc を参照してください。

表 6-1 動的プロキシ クライアントの作成手順

#
手順 説明

1

javax.xml.ws.Serviceインスタンスの作成

Service.create メソッドを使用して Service インスタンスを作成します。

サービス名と、必要に応じて WSDL ドキュメントの格納場所を渡す必要があります。メソッドの詳細は次のとおりです。

public static Service create (QName serviceName) throws javax.xml.ws.WebServiceException {}
public static Service create (URL wsdlDocumentLocation, QName serviceName) throws javax.xml.ws.WebServiceException {}

コード リスト :

URL wsdlLocation = new URL("http://example.org/my.wsdl");
QName serviceName = new QName("http://example.org/sample", "MyService");
Service s = Service.create(wsdlLocation, serviceName);

2

プロキシ スタブを作成する。

Service.getPort メソッドを使用してプロキシ スタブを作成します。このスタブを使用すると、対象サービス エンドポイント上のオペレーションを呼び出すことができます。

サービス エンドポイント インタフェース (SEI) と、必要に応じて WSDL サービス記述内のポートの名前を渡す必要があります。メソッドの詳細は次のとおりです。

public <T> T getPort(QName portName, Class<T> serviceEndpointInterface) throws javax.xml.ws.WebServiceException {}
public <T> T getPort(Class<T> serviceEndpointInterface) throws javax.xml.ws.WebServiceException {}

コード リスト :

MyPort port = s.getPort(MyPort.class);