public class Service extends Object
Serviceオブジェクトは、Webサービスのクライアント・ビューを提供します。
Serviceは、次のファクトリとして動作します。
Dispatchのインスタンス。
サービスで利用可能なポートは、getPortsメソッドを使用して列挙できます。あるいは、サービス端点インタフェースを単項getPortメソッドに渡し、適合するポートを実行時に選択させることができます。
Serviceによって作成されるすべてのオブジェクトのハンドラ・チェーンをHandlerResolverを使用して設定することができます。
非同期的コールバックをディスパッチするために使用されるスレッドをより強力に制御するため、Executorをサービスに設定することができます。たとえば、ThreadPoolExecutorを作成し、サービスにそれを登録することによって、特定のパラメータを伴うスレッド・プールを有効にできます。
Provider, HandlerResolver, Executor| 修飾子と型 | クラスと説明 |
|---|---|
static class |
Service.Mode
動的クライアントまたはサービスの方向です。
|
| 修飾子 | コンストラクタと説明 |
|---|---|
protected |
Service(URL wsdlDocumentLocation, QName serviceName) |
protected |
Service(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features) |
| 修飾子と型 | メソッドと説明 |
|---|---|
void |
addPort(QName portName, String bindingId, String endpointAddress)
サービスの新しいポートを作成します。
|
static Service |
create(QName serviceName)
Serviceインスタンスを作成します。 |
static Service |
create(QName serviceName, WebServiceFeature... features)
Serviceインスタンスを作成します。 |
static Service |
create(URL wsdlDocumentLocation, QName serviceName)
Serviceインスタンスを作成します。 |
static Service |
create(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features)
Serviceインスタンスを作成します。 |
<T> Dispatch<T> |
createDispatch(EndpointReference endpointReference, Class<T> type, Service.Mode mode, WebServiceFeature... features)
クライアントが選択したオブジェクトで使用する
Dispatchインスタンスを作成します。 |
Dispatch<Object> |
createDispatch(EndpointReference endpointReference, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
JAXB生成オブジェクトで使用する
Dispatchインスタンスを作成します。 |
<T> Dispatch<T> |
createDispatch(QName portName, Class<T> type, Service.Mode mode)
クライアントが選択したオブジェクトで使用する
Dispatchインスタンスを作成します。 |
<T> Dispatch<T> |
createDispatch(QName portName, Class<T> type, Service.Mode mode, WebServiceFeature... features)
クライアントが選択したオブジェクトで使用する
Dispatchインスタンスを作成します。 |
Dispatch<Object> |
createDispatch(QName portName, JAXBContext context, Service.Mode mode)
JAXB生成オブジェクトで使用する
Dispatchインスタンスを作成します。 |
Dispatch<Object> |
createDispatch(QName portName, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
JAXB生成オブジェクトで使用する
Dispatchインスタンスを作成します。 |
Executor |
getExecutor()
この
Serviceインスタンスのexecutorを返します。 |
HandlerResolver |
getHandlerResolver()
構成済みのハンドラ・リゾルバを返します。
|
<T> T |
getPort(Class<T> serviceEndpointInterface)
getPortメソッドはプロキシを返します。 |
<T> T |
getPort(Class<T> serviceEndpointInterface, WebServiceFeature... features)
getPortメソッドはプロキシを返します。 |
<T> T |
getPort(EndpointReference endpointReference, Class<T> serviceEndpointInterface, WebServiceFeature... features)
getPortメソッドはプロキシを返します。 |
<T> T |
getPort(QName portName, Class<T> serviceEndpointInterface)
getPortメソッドはプロキシを返します。 |
<T> T |
getPort(QName portName, Class<T> serviceEndpointInterface, WebServiceFeature... features)
getPortメソッドはプロキシを返します。 |
Iterator<QName> |
getPorts()
このサービスによってグループ化されたサービス・エンドポイントの
QNameリストのIteratorを返します |
QName |
getServiceName()
このサービスの名前を取得します。
|
URL |
getWSDLDocumentLocation()
このサービスのWSDL文書の位置を取得します。
|
void |
setExecutor(Executor executor)
この
Serviceインスタンスのexecutorを設定します。 |
void |
setHandlerResolver(HandlerResolver handlerResolver)
この
ServiceインスタンスのHandlerResolverを設定します。 |
protected Service(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features)
public <T> T getPort(QName portName, Class<T> serviceEndpointInterface)
getPortメソッドはプロキシを返します。サービス・クライアントは、このプロキシを使用してターゲット・サービス端点の操作を呼び出します。serviceEndpointInterfaceは、作成された動的プロキシ・インスタンスによってサポートされるサービス端点インタフェースを指定します。portName - WSDLサービス記述内のサービス端点の修飾名。serviceEndpointInterface - 動的プロキシ・インスタンスによってサポートされているサービス端点インタフェース。WebServiceException - この例外は、次の場合にスローされる。
serviceEndpointInterfaceまたはportNameが指定された場合。
Proxy, InvocationHandlerpublic <T> T getPort(QName portName, Class<T> serviceEndpointInterface, WebServiceFeature... features)
getPortメソッドはプロキシを返します。サービス・クライアントは、このプロキシを使用してターゲット・サービス端点の操作を呼び出します。serviceEndpointInterfaceは、作成された動的プロキシ・インスタンスによってサポートされるサービス端点インタフェースを指定します。portName - WSDLサービス記述内のサービス端点の修飾名。serviceEndpointInterface - 動的プロキシ・インスタンスによってサポートされているサービス端点インタフェース。features - プロキシに構成するWebServiceFeaturesのリスト。features パラメータに含まれていないサポートされる機能には、デフォルト値が設定される。WebServiceException - この例外は、次の場合にスローされる。
serviceEndpointInterfaceまたはportNameが指定された場合。
Proxy, InvocationHandler, WebServiceFeaturepublic <T> T getPort(Class<T> serviceEndpointInterface)
getPortメソッドはプロキシを返します。パラメータserviceEndpointInterfaceは、戻り値のプロキシによってサポートされるサービス端点インタフェースを指定します。このメソッドの実装では、JAX-WS実行時システムがプロトコル・バインディング(およびポート)を選択し、それに従ってプロキシの構成を行います。戻り値のプロキシを、クライアントが構成し直さないようにしてください。serviceEndpointInterface - サービス端点インタフェース。WebServiceException - serviceEndpointInterfaceが指定された場合。
public <T> T getPort(Class<T> serviceEndpointInterface, WebServiceFeature... features)
getPortメソッドはプロキシを返します。パラメータserviceEndpointInterfaceは、戻り値のプロキシによってサポートされるサービス端点インタフェースを指定します。このメソッドの実装では、JAX-WS実行時システムがプロトコル・バインディング(およびポート)を選択し、それに従ってプロキシの構成を行います。戻り値のプロキシを、クライアントが構成し直さないようにしてください。serviceEndpointInterface - サービス端点インタフェース。features - プロキシに構成するWebServiceFeaturesのリスト。features パラメータに含まれていないサポートされる機能には、デフォルト値が設定される。WebServiceException - serviceEndpointInterfaceが指定された場合。
WebServiceFeaturepublic <T> T getPort(EndpointReference endpointReference, Class<T> serviceEndpointInterface, WebServiceFeature... features)
getPortメソッドはプロキシを返します。パラメータendpointReferenceは、戻り値のプロキシによって呼び出される端点を指定します。endpointReferenceに参照パラメータがある場合は、端点に送信されるすべてのメッセージにそれらの参照パラメータをSOAPヘッダーとして含め、それらが参照パラメータであることを示す必要があります。端点の呼出しにはendpointReference'sのアドレスを使用する必要があります。パラメータ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 パラメータに含まれていないサポートされる機能には、デフォルト値が設定される。WebServiceException - endpointReferenceのメタデータが、このServiceインスタンスのserviceNameと一致しない場合。
endpointReferenceのメタデータからportNameを抽出できない場合。
endpointReferenceが指定された場合。
serviceEndpointInterfaceが指定された場合。
public void addPort(QName portName, String bindingId, String endpointAddress)
Dispatchインスタンスを作成するためにのみ使用できます。portName - ターゲット・サービス端点の修飾名。bindingId - バインディングの文字列識別子。endpointAddress - ターゲット・サービス端点のURI形式のアドレス。WebServiceException - ポートの作成でエラーが発生した場合。SOAPBinding.SOAP11HTTP_BINDING, SOAPBinding.SOAP12HTTP_BINDING, HTTPBinding.HTTP_BINDINGpublic <T> Dispatch<T> createDispatch(QName portName, Class<T> type, Service.Mode mode)
Dispatchインスタンスを作成します。portName - ターゲット・サービス端点の修飾名type - メッセージまたはメッセージ・ペイロードに使用されるオブジェクトのクラス。使用しているバインディングに応じて、実装はjavax.xml.transform.Source、javax.xml.soap.SOAPMessage、およびjavax.activation.DataSourceをサポートする必要があります。mode - 作成されたディスパッチ・インスタンスがメッセージ指向であるかペイロード指向であるかを制御する。つまり、クライアントが完全なプロトコル・メッセージを扱うか、メッセージ・ペイロードを扱うかを制御する。たとえば、SOAPプロトコルを使用する場合、このパラメータは、クライアントがSOAPメッセージを扱うか、SOAP本体のコンテンツを扱うかどうかを制御する。typeがSOAPMessageの場合、modeはMESSAGEでなければならない。WebServiceException - Dispatchオブジェクトの作成でエラーが発生した場合。Source, SOAPMessagepublic <T> Dispatch<T> createDispatch(QName portName, Class<T> type, Service.Mode mode, WebServiceFeature... features)
Dispatchインスタンスを作成します。portName - ターゲット・サービス端点の修飾名type - メッセージまたはメッセージ・ペイロードに使用されるオブジェクトのクラス。実装はjavax.xml.transform.Sourceおよびjavax.xml.soap.SOAPMessageをサポートする必要があります。mode - 作成されたディスパッチ・インスタンスがメッセージ指向であるかペイロード指向であるかを制御する。つまり、クライアントが完全なプロトコル・メッセージを扱うか、メッセージ・ペイロードを扱うかを制御する。たとえば、SOAPプロトコルを使用する場合、このパラメータは、クライアントがSOAPメッセージを扱うか、SOAP本体のコンテンツを扱うかどうかを制御する。typeがSOAPMessageの場合、modeはMESSAGEでなければならない。features - プロキシに構成するWebServiceFeaturesのリスト。features パラメータに含まれていないサポートされる機能には、デフォルト値が設定される。WebServiceException - Dispatchオブジェクトの作成でエラーが発生した場合、あるいはこのポートと互換性のない機能またはサポートされていない機能を有効にした場合。Source, SOAPMessage, WebServiceFeaturepublic <T> Dispatch<T> createDispatch(EndpointReference endpointReference, Class<T> type, Service.Mode mode, WebServiceFeature... features)
Dispatchインスタンスを作成します。endpointReferenceに参照パラメータがある場合は、端点に送信されるすべてのメッセージにそれらの参照パラメータをSOAPヘッダーとして含め、それらが参照パラメータであることを示す必要があります。端点の呼出しにはendpointReference'sのアドレスを使用する必要があります。このメソッドの実装では、この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.Sourceおよびjavax.xml.soap.SOAPMessageをサポートする必要があります。mode - 作成されたディスパッチ・インスタンスがメッセージ指向であるかペイロード指向であるかを制御する。つまり、クライアントが完全なプロトコル・メッセージを扱うか、メッセージ・ペイロードを扱うかを制御する。たとえば、SOAPプロトコルを使用する場合、このパラメータは、クライアントがSOAPメッセージを扱うか、SOAP本体のコンテンツを扱うかどうかを制御する。typeがSOAPMessageの場合、modeはMESSAGEでなければならない。features - プロキシに構成するWebServiceFeaturesの配列。features パラメータに含まれていないサポートされる機能には、デフォルト値が設定される。WebServiceException - endpointReferenceのメタデータが、このServiceインスタンスに関連付けられたWSDLのserviceNameまたはportNameと一致しない場合。
EndpointReferenceのメタデータからportNameを判定できない場合。
Dispatchオブジェクトの作成でエラーが発生した場合。
Source, SOAPMessage, WebServiceFeaturepublic Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode)
Dispatchインスタンスを作成します。portName - ターゲット・サービス端点の修飾名context - メッセージまたはメッセージ・ペイロードの整列化と非整列化に使用されるJAXBコンテキスト。mode - 作成されたディスパッチ・インスタンスがメッセージ指向であるかペイロード指向であるかを制御する。つまり、クライアントが完全なプロトコル・メッセージを扱うか、メッセージ・ペイロードを扱うかを制御する。たとえば、SOAPプロトコルを使用する場合、このパラメータは、クライアントがSOAPメッセージを扱うか、SOAP本体のコンテンツを扱うかどうかを制御する。WebServiceException - Dispatchオブジェクトの作成でエラーが発生した場合。JAXBContextpublic Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
Dispatchインスタンスを作成します。portName - ターゲット・サービス端点の修飾名context - メッセージまたはメッセージ・ペイロードの整列化と非整列化に使用されるJAXBコンテキスト。mode - 作成されたディスパッチ・インスタンスがメッセージ指向であるかペイロード指向であるかを制御する。つまり、クライアントが完全なプロトコル・メッセージを扱うか、メッセージ・ペイロードを扱うかを制御する。たとえば、SOAPプロトコルを使用する場合、このパラメータは、クライアントがSOAPメッセージを扱うか、SOAP本体のコンテンツを扱うかどうかを制御する。features - プロキシに構成するWebServiceFeaturesのリスト。features パラメータに含まれていないサポートされる機能には、デフォルト値が設定される。WebServiceException - Dispatchオブジェクトの作成でエラーが発生した場合、あるいはこのポートと互換性のない機能またはサポートされていない機能を有効にした場合。JAXBContext、WebServiceFeaturepublic Dispatch<Object> createDispatch(EndpointReference endpointReference, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
Dispatchインスタンスを作成します。endpointReferenceに参照パラメータがある場合は、端点に送信されるすべてのメッセージにそれらの参照パラメータをSOAPヘッダーとして含め、それらが参照パラメータであることを示す必要があります。端点の呼出しにはendpointReference'sのアドレスを使用する必要があります。このメソッドの実装では、この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 パラメータに含まれていないサポートされる機能には、デフォルト値が設定される。WebServiceException - endpointReferenceのメタデータが、このServiceインスタンスに関連付けられたWSDLのserviceNameまたはportNameと一致しない場合。
EndpointReferenceのメタデータからportNameを判定できない場合。
Dispatchオブジェクトの作成でエラーが発生した場合。
JAXBContext、WebServiceFeaturepublic QName getServiceName()
public Iterator<QName> getPorts()
QNameリストのIteratorを返しますjavax.xml.namespace.QName型の要素を含むjava.util.Iteratorを返す。WebServiceException - このサービス・クラスが必要なWSDLメタデータにアクセスできない場合。public URL getWSDLDocumentLocation()
public HandlerResolver getHandlerResolver()
Serviceインスタンスによって使用されているHandlerResolver。存在しない場合はnull。public void setHandlerResolver(HandlerResolver handlerResolver)
ServiceインスタンスのHandlerResolverを設定します。
ハンドラ・リゾルバが存在する場合、作成された各プロキシまたはディスパッチ・インスタンスに対し一度ハンドラ・リゾルバが呼び出され、リゾルバによって返されたハンドラ・チェーンがインスタンスに設定されます。
handlerResolver - 後に作成されるすべてのプロキシまたはディスパッチ・オブジェクトに対して使用されるHandlerResolver。HandlerResolverpublic Executor getExecutor()
Serviceインスタンスのexecutorを返します。executorは、コールバックを必要とするすべての非同期呼出しに使用されます。java.util.concurrent.Executor。Executorpublic void setExecutor(Executor executor)
Serviceインスタンスのexecutorを設定します。executorは、コールバックを必要とするすべての非同期呼出しに使用されます。executor - コールバックを呼び出すために使用されるjava.util.concurrent.Executor。SecurityException - セキュリティ上の理由により、インスタンスがexecutorを設定することをサポートしていない場合(たとえば、必要なアクセス権が不足している場合)。Executorpublic static Service create(URL wsdlDocumentLocation, QName serviceName)
Serviceインスタンスを作成します。指定されたWSDLドキュメントの位置とサービス修飾名は、wsdl:service要素を一意に識別する必要があります。wsdlDocumentLocation - サービスのWSDLドキュメントの位置を示すURLserviceName - サービスのQNameWebServiceException - 指定したサービスの作成でエラーが発生した場合。public static Service create(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features)
Serviceインスタンスを作成します。作成されるインスタンスはWebサービス機能で構成されます。指定されたWSDLドキュメントの位置とサービス修飾名は、wsdl:service要素を一意に識別する必要があります。wsdlDocumentLocation - サービスのWSDLドキュメントの位置を示すURLserviceName - サービスのQNamefeatures - サービスに構成される必要があるWebサービス機能。プロバイダが機能を理解しない場合、WebServiceExceptionをスローする必要があります。WebServiceException - 指定したサービスの作成でエラーが発生した場合。public static Service create(QName serviceName)
Serviceインスタンスを作成します。serviceName - サービスのQNameWebServiceException - 指定したサービスの作成でエラーが発生した場合public static Service create(QName serviceName, WebServiceFeature... features)
Serviceインスタンスを作成します。作成されるインスタンスはWebサービス機能で構成されます。serviceName - サービスのQNamefeatures - サービスに構成される必要があるWebサービス機能。プロバイダが機能を理解しない場合、WebServiceExceptionをスローする必要があります。WebServiceException - 指定したサービスの作成でエラーが発生した場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.