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
, InvocationHandler
public <T> T getPort(QName portName, Class<T> serviceEndpointInterface, WebServiceFeature... features)
getPort
メソッドはプロキシを返します。サービス・クライアントは、このプロキシを使用してターゲット・サービス端点の操作を呼び出します。serviceEndpointInterface
は、作成された動的プロキシ・インスタンスによってサポートされるサービス端点インタフェースを指定します。portName
- WSDLサービス記述内のサービス端点の修飾名。serviceEndpointInterface
- 動的プロキシ・インスタンスによってサポートされているサービス端点インタフェース。features
- プロキシに構成するWebServiceFeaturesのリスト。features
パラメータに含まれていないサポートされる機能には、デフォルト値が設定される。WebServiceException
- この例外は、次の場合にスローされる。
serviceEndpointInterface
またはportName
が指定された場合。
Proxy
, InvocationHandler
, WebServiceFeature
public <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
が指定された場合。
WebServiceFeature
public <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_BINDING
public <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
, SOAPMessage
public <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
, WebServiceFeature
public <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
, WebServiceFeature
public Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode)
Dispatch
インスタンスを作成します。portName
- ターゲット・サービス端点の修飾名context
- メッセージまたはメッセージ・ペイロードの整列化と非整列化に使用されるJAXBコンテキスト。mode
- 作成されたディスパッチ・インスタンスがメッセージ指向であるかペイロード指向であるかを制御する。つまり、クライアントが完全なプロトコル・メッセージを扱うか、メッセージ・ペイロードを扱うかを制御する。たとえば、SOAPプロトコルを使用する場合、このパラメータは、クライアントがSOAPメッセージを扱うか、SOAP本体のコンテンツを扱うかどうかを制御する。WebServiceException
- Dispatch
オブジェクトの作成でエラーが発生した場合。JAXBContext
public 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
、WebServiceFeature
public 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
、WebServiceFeature
public 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
。HandlerResolver
public Executor getExecutor()
Service
インスタンスのexecutorを返します。executorは、コールバックを必要とするすべての非同期呼出しに使用されます。java.util.concurrent.Executor
。Executor
public void setExecutor(Executor executor)
Service
インスタンスのexecutorを設定します。executorは、コールバックを必要とするすべての非同期呼出しに使用されます。executor
- コールバックを呼び出すために使用されるjava.util.concurrent.Executor
。SecurityException
- セキュリティ上の理由により、インスタンスがexecutorを設定することをサポートしていない場合(たとえば、必要なアクセス権が不足している場合)。Executor
public static Service create(URL wsdlDocumentLocation, QName serviceName)
Service
インスタンスを作成します。指定されたWSDLドキュメントの位置とサービス修飾名は、wsdl:service
要素を一意に識別する必要があります。wsdlDocumentLocation
- サービスのWSDLドキュメントの位置を示すURL
serviceName
- サービスのQName
WebServiceException
- 指定したサービスの作成でエラーが発生した場合。public static Service create(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features)
Service
インスタンスを作成します。作成されるインスタンスはWebサービス機能で構成されます。指定されたWSDLドキュメントの位置とサービス修飾名は、wsdl:service
要素を一意に識別する必要があります。wsdlDocumentLocation
- サービスのWSDLドキュメントの位置を示すURL
serviceName
- サービスのQName
features
- サービスに構成される必要があるWebサービス機能。プロバイダが機能を理解しない場合、WebServiceExceptionをスローする必要があります。WebServiceException
- 指定したサービスの作成でエラーが発生した場合。public static Service create(QName serviceName)
Service
インスタンスを作成します。serviceName
- サービスのQName
WebServiceException
- 指定したサービスの作成でエラーが発生した場合public static Service create(QName serviceName, WebServiceFeature... features)
Service
インスタンスを作成します。作成されるインスタンスはWebサービス機能で構成されます。serviceName
- サービスのQName
features
- サービスに構成される必要があるWebサービス機能。プロバイダが機能を理解しない場合、WebServiceExceptionをスローする必要があります。WebServiceException
- 指定したサービスの作成でエラーが発生した場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.