JavaTM Platform
Standard Ed. 6

javax.xml.ws.spi
クラス ServiceDelegate

java.lang.Object
  上位を拡張 javax.xml.ws.spi.ServiceDelegate

public abstract class ServiceDelegate
extends Object

サービスの委譲は、プラグイン可能な JAX-WS 実装を許可するため、Service オブジェクトによって内部的に使用されます。

すべての Service オブジェクトには、Provider.createServiceDelegate(java.net.URL, javax.xml.namespace.QName, java.lang.Class) メソッドを使用して作成された、それ自身の委譲があります。Service オブジェクトは、それ自身のすべてのインスタンスメソッドをそれの委譲に委任します。

導入されたバージョン:
JAX-WS 2.0
関連項目:
Service, Provider

コンストラクタの概要
protected ServiceDelegate()
           
 
メソッドの概要
abstract  void addPort(QName portName, String bindingId, String endpointAddress)
          サービスの新しいポートを作成します。
abstract
<T> Dispatch<T>
createDispatch(EndpointReference endpointReference, Class<T> type, Service.Mode mode, WebServiceFeature... features)
          ユーザーが選択したオブジェクトで使用する Dispatch インスタンスを作成します。
abstract  Dispatch<Object> createDispatch(EndpointReference endpointReference, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
          JAXB 生成オブジェクトで使用する Dispatch インスタンスを作成します。
abstract
<T> Dispatch<T>
createDispatch(QName portName, Class<T> type, Service.Mode mode)
          ユーザーが選択したオブジェクトで使用する Dispatch インスタンスを作成します。
abstract
<T> Dispatch<T>
createDispatch(QName portName, Class<T> type, Service.Mode mode, WebServiceFeature... features)
          ユーザーが選択したオブジェクトで使用する Dispatch インスタンスを作成します。
abstract  Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode)
          JAXB 生成オブジェクトで使用する Dispatch インスタンスを作成します。
abstract  Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
          JAXB 生成オブジェクトで使用する Dispatch インスタンスを作成します。
abstract  Executor getExecutor()
          この Service インスタンスの executor を返します。
abstract  HandlerResolver getHandlerResolver()
          設定済みのハンドラリゾルバを返します。
abstract
<T> T
getPort(Class<T> serviceEndpointInterface)
          getPort メソッドはプロキシを返します。
abstract
<T> T
getPort(Class<T> serviceEndpointInterface, WebServiceFeature... features)
          getPort メソッドはプロキシを返します。
abstract
<T> T
getPort(EndpointReference endpointReference, Class<T> serviceEndpointInterface, WebServiceFeature... features)
          getPort メソッドはプロキシを返します。
abstract
<T> T
getPort(QName portName, Class<T> serviceEndpointInterface)
          getPort メソッドはプロキシを返します。
abstract
<T> T
getPort(QName portName, Class<T> serviceEndpointInterface, WebServiceFeature... features)
          getPort メソッドはプロキシを返します。
abstract  Iterator<QName> getPorts()
          このサービスによってグループ化されたサービス端点の QName リストの Iterator を返します。
abstract  QName getServiceName()
          このサービスの名前を取得します。
abstract  URL getWSDLDocumentLocation()
          このサービスの WSDL 文書の位置を取得します。
abstract  void setExecutor(Executor executor)
          この Service インスタンスの executor を設定します。
abstract  void setHandlerResolver(HandlerResolver handlerResolver)
          この Service インスタンスの HandlerResolver を設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ServiceDelegate

protected ServiceDelegate()
メソッドの詳細

getPort

public abstract <T> T getPort(QName portName,
                              Class<T> serviceEndpointInterface)
getPort メソッドはプロキシを返します。サービスクライアントは、このプロキシを使用してターゲットサービス端点の操作を呼び出します。serviceEndpointInterface は、作成された動的プロキシインスタンスによってサポートされるサービス端点インタフェースを指定します。

パラメータ:
portName - WSDL サービス記述内のサービス端点の修飾名
serviceEndpointInterface - 動的プロキシによってサポートされているサービス端点インタフェース
戻り値:
指定されたサービス端点インタフェースをサポートする Object Proxy インスタンス
例外:
WebServiceException - この例外は、次の場合にスローされる
  • プロキシの作成でエラーが発生した場合
  • このメソッドが必要とする WSDL メタデータが不足している場合
  • 不正な serviceEndpointInterface または portName が指定された場合
関連項目:
Proxy, InvocationHandler

getPort

public abstract <T> T getPort(QName portName,
                              Class<T> serviceEndpointInterface,
                              WebServiceFeature... features)
getPort メソッドはプロキシを返します。サービスクライアントは、このプロキシを使用してターゲットサービス端点の操作を呼び出します。serviceEndpointInterface は、作成された動的プロキシインスタンスによってサポートされるサービス端点インタフェースを指定します。

パラメータ:
portName - WSDL サービス記述内のサービス端点の修飾名
serviceEndpointInterface - 動的プロキシまたはインスタンスによってサポートされているサービス端点インタフェース
features - プロキシに設定する WebServiceFeatures のリスト。features パラメータに含まれていないサポートされる機能には、デフォルト値が設定される
戻り値:
指定されたサービス端点インタフェースをサポートする Object Proxy インスタンス
例外:
WebServiceException - この例外は、次の場合にスローされる
  • プロキシの作成でエラーが発生した場合
  • このメソッドが必要とする WSDL メタデータが不足している場合
  • 不正な serviceEndpointInterface または portName が指定された場合
  • このポートと互換性のない機能、またはサポートされていない機能を有効にした場合
導入されたバージョン:
JAX-WS 2.1
関連項目:
Proxy, InvocationHandler, WebServiceFeature

getPort

public abstract <T> T getPort(EndpointReference endpointReference,
                              Class<T> serviceEndpointInterface,
                              WebServiceFeature... features)
getPort メソッドはプロキシを返します。パラメータ endpointReference は、戻り値のプロキシによって呼び出される端点を指定します。endpointReference に参照パラメータがある場合は、端点に送信されるすべてのメッセージにそれらの参照パラメータを SOAP ヘッダーとして含め、それらが参照パラメータであることを示す必要があります。端点の呼び出しには endpointReference のアドレスを使用する必要があります。パラメータ serviceEndpointInterface は、戻り値のプロキシによってサポートされるサービス端点インタフェースを指定します。このメソッドの実装では、この Service インスタンスに関連付けられた WSDL または endpointReference のメタデータに従って、JAX-WS 実行システムがプロトコルバインディング (およびポート) の選択とプロキシの設定を行います。この Service インスタンスに WSDL があり、endpointReference のメタデータにも WSDL がある場合は、このインスタンスの WSDL を使用する必要があります。この Service インスタンスに WSDL がなく、endpointReference に WSDL がある場合は、endpointReference の WSDL を使用することができます。戻り値のプロキシを、クライアントが設定し直さないようにしてください。この Service インスタンスに、WSDL に含まれている情報と一致する既知のプロキシポートがある場合は、そのプロキシが返されます。それ以外の場合は WebServiceException がスローされます。

このメソッドを呼び出したときの動作は、次の場合と同じになります。 

 port = service.getPort(portName, serviceEndpointInterface);
 
この portName は、endpointReference のメタデータから取得されるか、serviceEndpointInterface とこの Service インスタンスに関連付けられた WSDL から取得されます。

パラメータ:
endpointReference - 戻り値のプロキシによって呼び出されるターゲットサービス端点の EndpointReference
serviceEndpointInterface - サービス端点インタフェース
features - プロキシに設定する WebServiceFeatures のリスト。features パラメータに含まれていないサポートされる機能には、デフォルト値が設定される
戻り値:
指定されたサービス端点インタフェースをサポートする Object Proxy インスタンス
例外:
WebServiceException -
  • プロキシの作成中にエラーがあった場合
  • このメソッドが必要とする WSDL メタデータが不足している場合
  • endpointReference のメタデータが、この Service インスタンスの serviceName と一致しない場合
  • WSDL または endpointReference のメタデータから portName を抽出できない場合
  • 無効な endpointReference が指定された場合
  • 無効な serviceEndpointInterface が指定された場合
  • このポートと互換性のない機能、またはサポートされていない機能を有効にした場合
導入されたバージョン:
JAX-WS 2.1

getPort

public abstract <T> T getPort(Class<T> serviceEndpointInterface)
getPort メソッドはプロキシを返します。パラメータ serviceEndpointInterface は、戻り値のプロキシによってサポートされるサービス端点インタフェースを指定します。このメソッドの実装では、JAX-WS 実行時システムがプロトコルバインディング (およびポート) を選択し、それに従ってプロキシの設定を行います。戻り値のプロキシを、クライアントが設定し直さないようにしてください。

パラメータ:
serviceEndpointInterface - サービス端点インタフェース
戻り値:
指定されたサービス端点インタフェースをサポートする Object インスタンス
例外:
WebServiceException -
  • プロキシの作成中にエラーがあった場合
  • このメソッドが必要とする WSDL メタデータが不足している場合
  • 不正な serviceEndpointInterface が指定された場合

getPort

public abstract <T> T getPort(Class<T> serviceEndpointInterface,
                              WebServiceFeature... features)
getPort メソッドはプロキシを返します。パラメータ serviceEndpointInterface は、戻り値のプロキシによってサポートされるサービス端点インタフェースを指定します。このメソッドの実装では、JAX-WS 実行時システムがプロトコルバインディング (およびポート) を選択し、それに従ってプロキシの設定を行います。戻り値のプロキシを、クライアントが設定し直さないようにしてください。

パラメータ:
serviceEndpointInterface - サービス端点インタフェース
features - プロキシに設定する WebServiceFeatures の配列。features パラメータに含まれていないサポートされる機能には、デフォルト値が設定される
戻り値:
指定されたサービス端点インタフェースをサポートする Object インスタンス
例外:
WebServiceException -
  • プロキシの作成中にエラーがあった場合
  • このメソッドが必要とする WSDL メタデータが不足している場合
  • 不正な serviceEndpointInterface が指定された場合
  • このポートと互換性のない機能、またはサポートされていない機能を有効にした場合
導入されたバージョン:
JAX-WS 2.1
関連項目:
WebServiceFeature

addPort

public abstract void addPort(QName portName,
                             String bindingId,
                             String endpointAddress)
サービスの新しいポートを作成します。この方法で作成されたポートは、WSDL ポート型情報を含まず、Dispatch インスタンスを作成するためにのみ使用できます。

パラメータ:
portName - ターゲットサービス端点の修飾名
bindingId - バインディングの URI 識別子
endpointAddress - ターゲットサービス端点の URI 形式のアドレス
例外:
WebServiceException - ポートの作成でエラーが発生した場合
関連項目:
SOAPBinding.SOAP11HTTP_BINDING, SOAPBinding.SOAP12HTTP_BINDING, HTTPBinding.HTTP_BINDING

createDispatch

public abstract <T> Dispatch<T> createDispatch(QName portName,
                                               Class<T> type,
                                               Service.Mode mode)
ユーザーが選択したオブジェクトで使用する Dispatch インスタンスを作成します。

パラメータ:
portName - ターゲットサービス端点の修飾名
type - メッセージまたはメッセージペイロードに使用されるオブジェクトのクラス。実装は、javax.xml.transform.Sourcejavax.xml.soap.SOAPMessage をサポートする必要がある
mode - 作成されたディスパッチインスタンスがメッセージ指向であるかペイロード指向であるかを制御する。つまり、ユーザーが完全なプロトコルメッセージを扱うか、メッセージペイロードを扱うかを制御する。たとえば、SOAP プロトコルを使用する場合、このパラメータは、ユーザーが SOAP メッセージを扱うか、SOAP 本体のコンテンツを扱うかどうかを制御する。型が SOAPMessage の場合、mode は MESSAGE でなければならない
戻り値:
Dispatch インスタンス
例外:
WebServiceException - Dispatch オブジェクトの作成でエラーが発生した場合
関連項目:
Source, SOAPMessage

createDispatch

public abstract <T> Dispatch<T> createDispatch(QName portName,
                                               Class<T> type,
                                               Service.Mode mode,
                                               WebServiceFeature... features)
ユーザーが選択したオブジェクトで使用する Dispatch インスタンスを作成します。

パラメータ:
portName - ターゲットサービス端点の修飾名
type - メッセージまたはメッセージペイロードに使用されるオブジェクトのクラス。実装は、javax.xml.transform.Sourcejavax.xml.soap.SOAPMessage をサポートする必要がある
mode - 作成されたディスパッチインスタンスがメッセージ指向であるかペイロード指向であるかを制御する。つまり、ユーザーが完全なプロトコルメッセージを扱うか、メッセージペイロードを扱うかを制御する。たとえば、SOAP プロトコルを使用する場合、このパラメータは、ユーザーが SOAP メッセージを扱うか、SOAP 本体のコンテンツを扱うかどうかを制御する。型が SOAPMessage の場合、mode は MESSAGE でなければならない
features - プロキシに設定する WebServiceFeatures のリスト。features パラメータに含まれていないサポートされる機能には、デフォルト値が設定される
戻り値:
Dispatch インスタンス
例外:
WebServiceException - Dispatch オブジェクトの作成でエラーが発生した場合、あるいはこのポートと互換性のない機能またはサポートされていない機能を有効にした場合
導入されたバージョン:
JAX-WS 2.1
関連項目:
Source, SOAPMessage, WebServiceFeature

createDispatch

public abstract <T> Dispatch<T> createDispatch(EndpointReference endpointReference,
                                               Class<T> type,
                                               Service.Mode mode,
                                               WebServiceFeature... features)
ユーザーが選択したオブジェクトで使用する Dispatch インスタンスを作成します。endpointReference に参照パラメータがある場合は、端点に送信されるすべてのメッセージにそれらの参照パラメータを SOAP ヘッダーとして含め、それらが参照パラメータであることを示す必要があります。端点の呼び出しには endpointReference のアドレスを使用する必要があります。このメソッドの実装では、この Service インスタンスに関連付けられた WSDL または endpointReference のメタデータに従って、JAX-WS 実行システムがプロトコルバインディング (およびポート) の選択とディスパッチの設定を行います。この Service インスタンスに WSDL があり、endpointReference のメタデータにも WSDL がある場合は、このインスタンスの WSDL を使用する必要があります。この Service インスタンスに WSDL がなく、endpointReference に WSDL がある場合は、endpointReference の WSDL を使用することができます。実装は、endpointReference のメタデータから portName を取得できる必要があります。

このメソッドの動作は、次の呼び出しと同じになります。 

 dispatch = service.createDispatch(portName, type, mode, features);
 
この portName は、WSDL または EndpointReference のメタデータから取得されます。

パラメータ:
endpointReference - 戻り値の Dispatch オブジェクトによって呼び出されるターゲットサービス端点の EndpointReference
type - メッセージまたはメッセージペイロードに使用されるオブジェクトのクラス。実装は、javax.xml.transform.Sourcejavax.xml.soap.SOAPMessage をサポートする必要がある
mode - 作成されたディスパッチインスタンスがメッセージ指向であるかペイロード指向であるかを制御する。つまり、ユーザーが完全なプロトコルメッセージを扱うか、メッセージペイロードを扱うかを制御する。たとえば、SOAP プロトコルを使用する場合、このパラメータは、ユーザーが SOAP メッセージを扱うか、SOAP 本体のコンテンツを扱うかどうかを制御する。型が SOAPMessage の場合、mode は MESSAGE でなければならない
features - プロキシに設定する WebServiceFeatures の配列。features パラメータに含まれていないサポートされる機能には、デフォルト値が設定される
戻り値:
Dispatch インスタンス
例外:
WebServiceException -
  • このメソッドが必要とする WSDL メタデータが不足している場合
  • endpointReference のメタデータが、この Service インスタンスに関連付けられた WSDL の serviceName または portName と一致しない場合
  • EndpointReference のメタデータから portName を判定できない場合
  • Dispatch オブジェクトの作成でエラーが発生した場合
  • このポートと互換性のない機能、またはサポートされていない機能を有効にした場合
導入されたバージョン:
JAX-WS 2.1
関連項目:
Source, SOAPMessage, WebServiceFeature

createDispatch

public abstract Dispatch<Object> createDispatch(QName portName,
                                                JAXBContext context,
                                                Service.Mode mode)
JAXB 生成オブジェクトで使用する Dispatch インスタンスを作成します。

パラメータ:
portName - ターゲットサービス端点の修飾名
context - メッセージまたはメッセージペイロードの整列化と非整列化に使用される JAXB コンテキスト
mode - 作成されたディスパッチインスタンスがメッセージ指向であるかペイロード指向であるかを制御する。つまり、ユーザーが完全なプロトコルメッセージを扱うか、メッセージペイロードを扱うかを制御する。たとえば、SOAP プロトコルを使用する場合、このパラメータは、ユーザーが SOAP メッセージを扱うか、SOAP 本体のコンテンツを扱うかどうかを制御する
戻り値:
Dispatch インスタンス
例外:
WebServiceException - Dispatch オブジェクトの作成でエラーが発生した場合
関連項目:
JAXBContext

createDispatch

public abstract Dispatch<Object> createDispatch(QName portName,
                                                JAXBContext context,
                                                Service.Mode mode,
                                                WebServiceFeature... features)
JAXB 生成オブジェクトで使用する Dispatch インスタンスを作成します。

パラメータ:
portName - ターゲットサービス端点の修飾名
context - メッセージまたはメッセージペイロードの整列化と非整列化に使用される JAXB コンテキスト
mode - 作成されたディスパッチインスタンスがメッセージ指向であるかペイロード指向であるかを制御する。つまり、ユーザーが完全なプロトコルメッセージを扱うか、メッセージペイロードを扱うかを制御する。たとえば、SOAP プロトコルを使用する場合、このパラメータは、ユーザーが SOAP メッセージを扱うか、SOAP 本体のコンテンツを扱うかどうかを制御する
features - プロキシに設定する WebServiceFeatures のリスト。features パラメータに含まれていないサポートされる機能には、デフォルト値が設定される
戻り値:
Dispatch インスタンス
例外:
WebServiceException - Dispatch オブジェクトの作成でエラーが発生した場合、あるいはこのポートと互換性のない機能またはサポートされていない機能を有効にした場合
導入されたバージョン:
JAX-WS 2.1
関連項目:
JAXBContext, WebServiceFeature

createDispatch

public abstract Dispatch<Object> createDispatch(EndpointReference endpointReference,
                                                JAXBContext context,
                                                Service.Mode mode,
                                                WebServiceFeature... features)
JAXB 生成オブジェクトで使用する Dispatch インスタンスを作成します。endpointReference に参照パラメータがある場合は、端点に送信されるすべてのメッセージにそれらの参照パラメータを SOAP ヘッダーとして含め、それらが参照パラメータであることを示す必要があります。端点の呼び出しには endpointReference のアドレスを使用する必要があります。このメソッドの実装では、この Service インスタンスに関連付けられた WSDL または endpointReference のメタデータに従って、JAX-WS 実行システムがプロトコルバインディング (およびポート) の選択とディスパッチの設定を行います。この Service インスタンスに WSDL があり、endpointReference のメタデータにも WSDL がある場合は、このインスタンスの WSDL を使用する必要があります。この Service インスタンスに WSDL がなく、endpointReference に WSDL がある場合は、endpointReference の WSDL を使用することができます。実装は、endpointReference のメタデータから portName を取得できる必要があります。

このメソッドの動作は、次の呼び出しと同じになります。 

 dispatch = service.createDispatch(portName, context, mode, features);
 
この portName は、WSDL または endpointReference のメタデータから取得されます。

パラメータ:
endpointReference - 戻り値の Dispatch オブジェクトによって呼び出されるターゲットサービス端点の EndpointReference
context - メッセージまたはメッセージペイロードの整列化と非整列化に使用される JAXB コンテキスト
mode - 作成されたディスパッチインスタンスがメッセージ指向であるかペイロード指向であるかを制御する。つまり、ユーザーが完全なプロトコルメッセージを扱うか、メッセージペイロードを扱うかを制御する。たとえば、SOAP プロトコルを使用する場合、このパラメータは、ユーザーが SOAP メッセージを扱うか、SOAP 本体のコンテンツを扱うかどうかを制御する
features - プロキシに設定する WebServiceFeatures の配列。features パラメータに含まれていないサポートされる機能には、デフォルト値が設定される
戻り値:
Dispatch インスタンス
例外:
WebServiceException -
  • このメソッドが必要とする WSDL メタデータが不足している場合
  • endpointReference のメタデータが、この Service インスタンスに関連付けられた WSDL の serviceName または portName と一致しない場合
  • EndpointReference のメタデータから portName を判定できない場合
  • Dispatch オブジェクトの作成でエラーが発生した場合
  • このポートと互換性のない機能、またはサポートされていない機能を有効にした場合
導入されたバージョン:
JAX-WS 2.1
関連項目:
JAXBContext, WebServiceFeature

getServiceName

public abstract QName getServiceName()
このサービスの名前を取得します。

戻り値:
このサービスの修飾名

getPorts

public abstract Iterator<QName> getPorts()
このサービスによってグループ化されたサービス端点の QName リストの Iterator を返します。

戻り値:
javax.xml.namespace.QName 型の要素を含む java.util.Iterator を返す
例外:
WebServiceException - このサービスクラスが必要な WSDL メタデータにアクセスできない場合

getWSDLDocumentLocation

public abstract URL getWSDLDocumentLocation()
このサービスの WSDL 文書の位置を取得します。

戻り値:
このサービスの WSDL 文書の位置を示す URL

getHandlerResolver

public abstract HandlerResolver getHandlerResolver()
設定済みのハンドラリゾルバを返します。

戻り値:
HandlerResolver この Service インスタンスによって使用されている HandlerResolver。存在しない場合は null

setHandlerResolver

public abstract void setHandlerResolver(HandlerResolver handlerResolver)
この Service インスタンスの HandlerResolver を設定します。

ハンドラリゾルバが存在する場合、作成された各プロキシまたはディスパッチインスタンスに対し一度ハンドラリゾルバが呼び出され、リゾルバによって返されたハンドラチェーンがインスタンスに設定されます。

パラメータ:
handlerResolver - 後に作成されるすべてのプロキシまたはディスパッチオブジェクトに対して使用される HandlerResolver
関連項目:
HandlerResolver

getExecutor

public abstract Executor getExecutor()
この Service インスタンスの executor を返します。 executor は、コールバックを必要とするすべての非同期呼び出しに使用されます。

戻り値:
コールバックを呼び出すために使用される java.util.concurrent.Executor
関連項目:
Executor

setExecutor

public abstract void setExecutor(Executor executor)
この Service インスタンスの executor を設定します。 executor は、コールバックを必要とするすべての非同期呼び出しに使用されます。

パラメータ:
executor - コールバックを呼び出すために使用される java.util.concurrent.Executor
例外:
SecurityException - セキュリティー上の理由により、インスタンスが executor を設定することをサポートしていない場合 (たとえば、必要なアクセス権が不足している場合)
関連項目:
Executor

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。