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 本体のコンテンツを扱うかどうかを制御する。型が 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 本体のコンテンツを扱うかどうかを制御する。型が 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 本体のコンテンツを扱うかどうかを制御する。型が 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, 2013, Oracle and/or its affiliates. All rights reserved.