25.4. エンドポイントのプロキシーの取得

概要

サービスプロキシーは、リモートサービスによって公開されるすべてのメソッドを提供し、リモート呼び出しを行うために必要なすべての詳細を処理するオブジェクトです。Service オブジェクトは、getPort() メソッドを使用して認識できるすべてのエンドポイントのサービスプロキシーを提供します。サービスプロキシーを取得したら、そのメソッドを呼び出すことができます。プロキシーは、サービスのコントラクトで指定された接続の詳細を使用して、呼び出しをリモートサービスエンドポイントに転送します。

getPort() メソッド

例25.5「getPort() メソッド」に示すように、getPort() メソッドは、指定されたエンドポイントのサービスプロキシーを返します。返されるプロキシーは SEI と同じクラスです。

例25.5 getPort() メソッド

public<T> TgetPortQNameportNameClass<T>serviceEndpointInterfaceWebServiceException

portName パラメーターの値は、プロキシーが作成されるエンドポイントを定義する wsdl:port 要素を識別する QName です。serviceEndpointInterface パラメーターの値は、SEI の完全修飾名です。

注記

WSDL コントラクトを操作しない場合、portName パラメーターの値は通常 addPort() の呼び出し時に portName パラメーターに使用される値と同じです。

例25.6「サービスプロキシーの取得」 は、例25.4「サービスのオブジェクトへの ポートの追加 に追加されたエンドポイントのサービスプロキシーを取得するためのコードを示します。

例25.6 サービスプロキシーの取得

package com.fusesource.demo;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;

public class Client
{
public static void main(String args[])
  {
    ...
    quoteReporter proxy = s.getPort(portName, quoteReporter.class);
    ...
  }
}