Hitachi

Cosminexus V11 アプリケーションサーバ Webサービス開発ガイド


19.2.2 クライアントAPI

ここでは,クライアントAPIのサポート範囲について説明します。

〈この項の構成〉

(1) javax.xml.ws.BindingProviderインタフェース

javax.xml.ws.BindingProviderインタフェースのサポート範囲を次の表に示します。詳細はJAX-WS 2.2仕様を参照してください。

表19‒4 javax.xml.ws.BindingProviderインタフェースのサポート範囲

項番

戻り値の型

メソッド名/説明

サポート

1

Binding

getBinding()

説明

このバインディングプロバイダのバインディングを取得します。

2

EndpointReference

getEndpointReference()

×

3

<T extends EndpointReference> T

getEndpointReference (java.lang.Class<T> clazz)

×

4

java.util.Map <java.lang.String, java.lang.Object>

getRequestContext()

説明

要求メッセージのメッセージコンテキストを初期化するために使用されるコンテキストを取得します。

5

java.util.Map <java.lang.String, java.lang.Object>

getResponseContext()

説明

応答メッセージの処理によって得られたコンテキストを取得します。応答メッセージが処理される前に呼び出した場合はnullを返します。one-wayオペレーションの場合は,レスポンスメッセージが存在しないため,このメソッドを呼び出さないでください。one-wayオペレーションで使用したときの動作は保証されません。

(凡例)

○:Application ServerのJAX-WS機能でサポートしています。

×:Application ServerのJAX-WS機能でサポートしていません。

(2) javax.xml.ws.Dispatchインタフェース

javax.xml.ws.Dispatchインタフェースのサポート範囲を次の表に示します。詳細はJAX-WS 2.2仕様を参照してください。

表19‒5 javax.xml.ws.Dispatchインタフェースのサポート範囲

項番

戻り値の型

メソッド名

サポート

1

T

invoke(T msg)

2

Response<T>

invokeAsync(T msg)

×

3

java.util.concurrent.Future<?>

invokeAsync(T msg, AsyncHandler<T> handler)

×

4

void

invokeOneWay(T msg)

(凡例)

○:Application ServerのJAX-WS機能でサポートしています。

×:Application ServerのJAX-WS機能でサポートしていません。

(3) javax.xml.ws.EndpointReferenceクラス

javax.xml.ws.EndpointReferenceクラスのサポート範囲を次の表に示します。詳細はJAX-WS 2.2仕様を参照してください。

表19‒6 javax.xml.ws.EndpointReferenceクラスのサポート範囲

項番

戻り値の型

メソッド名

サポート

1

EndpointReference()

2

<T> T

getPort (java.lang.Class<T> serviceEndpointInterface, WebServiceFeature... features)

×

3

static EndpointReference

readFrom (javax.xml.transform.Source eprInfoset)

4

java.lang.String

toString()

×

5

abstract void

writeTo(javax.xml.transform.Result result)

×

(凡例)

−:戻り値の型がないことを示します。

○:Application ServerのJAX-WS機能でサポートしています。

×:Application ServerのJAX-WS機能でサポートしていません。

(4) javax.xml.ws.Serviceクラス

javax.xml.ws.Serviceクラスのサポート範囲を次の表に示します。詳細はJAX-WS 2.2仕様を参照してください。

表19‒7 javax.xml.ws.Serviceクラスのサポート範囲

項番

戻り値の型

メソッド名/説明

サポート

1

Service(java.net.URL wsdlDocumentLocation, javax.xml.namespace.QName serviceName)

説明

Serviceインスタンスを生成するコンストラクタです。

引数

wsdlDocumentLocation:

WSDL文書の位置です。nullを指定した場合,Serviceコンストラクタを呼び出しているクラスに設定されているjavax.xml.ws.WebServiceClientアノテーションのwsdlLocation属性の値が設定されます。指定するURLの形式については,java.net.URLクラスの仕様に従ってください。なお,カタログ機能が有効な場合,この引数に指定した値を,カタログファイルで指定した別のWSDLロケーションを示すURIにマッピングします。

serviceName:

サービスの名前です。

例外

javax.xml.ws.WebServiceException:

次の場合に発生します。

  • wsdlDocumentLocationに,存在しないローカルパス名を指定した場合

  • wsdlDocumentLocationに,「?wsdl」付きの存在しないHTTPのURLを指定した場合

  • wsdlDocumentLocationに,「?wsdl」付きではない存在しないHTTPのURLを指定した場合

  • serviceNameにnullを指定した場合

  • serviceNameに,WSDLのサービス名(wsdl:service要素のname属性の値)以外のQNameを指定した場合

  • wsdlDocumentLocationにnullを指定し,かつServiceコンストラクタを呼び出しているクラスでjavax.xml.ws.WebServiceClientアノテーションを使用していない場合

  • wsdlDocumentLocationにnullを指定し,かつServiceコンストラクタを呼び出しているクラスのjavax.jws.WebServiceアノテーションで,wsdlLocation属性が設定されていない場合

2

void

addPort(javax.xml.namespace.QName portName, java.lang.String bindingId, java.lang.String endpointAddress)

例外

javax.xml.ws.WebServiceException:

生成済みのポート名を指定した場合に発生します。

注意

portNameは,createDispatch()を呼び出すときに同じQNameを指定する必要があります。nullは指定できません。

bindingIdにnullを指定した場合は,SOAP1.1/HTTPのバインディングIDが設定されます。

3

static Service

create(javax.xml.namespace.QName serviceName)

4

static Service

create(javax.xml.namespace.QName serviceName, javax.xml.ws.WebServiceFeature ... features)

×

5

static Service

create(java.net.URL wsdlDocumentLocation, javax.xml.namespace.QName serviceName)

説明

Serviceインスタンスを生成します。

引数

wsdlDocumentLocation:

WSDL文書の位置です。指定するURLの形式についてはjava.net.URLクラスの仕様に従ってください。

serviceName:

WSDLのサービス名(wsdl:service要素のname属性値)です。

例外

javax.xml.ws.WebServiceException:

次の場合に発生します。

  • wsdlDocumentLocationに存在しないローカルパス名を指定した場合

  • wsdlDocumentLocationに,「?wsdl」付きの存在しないHTTPのURLを指定した場合

  • wsdlDocumentLocationに,「?wsdl」付きではない存在しないHTTPのURLを指定した場合

  • serviceNameに,WSDLのサービス名(wsdl:service要素のname属性の値)以外を指定した場合(ただし,wsdlDocumentLocationにnullを指定した場合を除く)

6

static Service

create(java.net.URL wsdlDocumentLocation, javax.xml.namespace.QName serviceName, javax.xml.ws.WebServiceFeature ... features)

×

7

<T> Dispatch<T>

createDispatch (EndpointReference endpointReference, java.lang.Class<T> type, Service.Mode mode, WebServiceFeature... features)

×

8

Dispatch <java.lang.Object>

createDispatch (EndpointReference endpointReference, javax.xml.bind.JAXBContext context, Service.Mode mode, WebServiceFeature... features)

×

9

<T> Dispatch<T>

createDispatch (javax.xml.namespace.QName portName, java.lang.Class<T> type, Service.Mode mode)

注意

portNameは,addPort()の引数に指定するポート名と同じものを指定する必要があります。nullは指定できません。

10

<T> Dispatch<T>

createDispatch (javax.xml.namespace.QName portName, java.lang.Class<T> type, Service.Mode mode, WebServiceFeature... features)

×

11

Dispatch <java.lang.Object>

createDispatch (javax.xml.namespace.QName portName, javax.xml.bind.JAXBContext context, Service.Mode mode)

注意

portNameは,addPort()の引数に指定するポート名と同じものを指定する必要があります。nullは指定できません。

12

Dispatch <java.lang.Object>

createDispatch (javax.xml.namespace.QName portName, javax.xml.bind.JAXBContext context, Service.Mode mode, WebServiceFeature... features)

×

13

java.util.concurrent.Executor

getExecutor()

×

14

HandlerResolver

getHandlerResolver()

説明

このServiceインスタンスによって使用されているHandlerResolverインスタンスを返します。存在しない場合はnullを返します。

15

<T> T

getPort (java.lang.Class<T> serviceEndpointInterface)

説明

ポート(サービスにアクセスするためのプロキシ)を返します。

引数

serviceEndpointInterface:

SEIのClassクラスです。

例外

javax.xml.ws.WebServiceException:

次の場合に発生します。

  • serviceEndpointInterfaceがnullの場合

  • wsdlDocumentLocationにnullを指定したService.create()で生成したServiceインスタンスから呼び出した場合

  • javax.jws.WebServiceアノテーションを使用していないSEIを引数に指定した場合

  • このメソッドを呼び出す前に,nullを返すgetHandlerChain()を実装したHandlerResolverオブジェクトをsetHandlerResolver()で設定している場合

  • このメソッドを呼び出す前に,論理ハンドラでもSOAPハンドラでもない,ハンドラを含むハンドラチェインを返すgetHandlerChain()を実装したHandlerResolverオブジェクトをsetHandlerResolver()で設定している場合

16

<T> T

getPort (java.lang.Class<T> serviceEndpointInterface, WebServiceFeature... features)

×

17

<T> T

getPort(EndpointReference endpointReference, java.lang.Class<T> serviceEndpointInterface, WebServiceFeature... features)

説明

ポート(サービスにアクセスするためのプロキシ)を返します。

引数

endpointReference:

ポートによって呼び出されるサービスエンドポイントです。

serviceEndpointInterface:

SEIのClassクラスです。

features:

ポート上で構成するWebServiceFeatureのリストです。

例外

javax.xml.ws.WebServiceException:

次の場合に発生します。

  • ポートの生成中に例外が発生した場合

  • このメソッドの処理に必要なWSDLが存在しない場合

  • endpointReferenceメタデータがServiceインスタンスのserviceNameに合っていない場合

  • WSDLまたはendpointReferenceメタデータからportNameを抽出できない場合

  • 無効なendpointReferenceが指定された場合

  • 無効なserviceEndpointInterfaceが指定された場合

  • ポートと互換性がない,またはサポートされていないWebServiceFeatureが指定された場合

18

<T> T

getPort(javax.xml.namespace.QName portName, java.lang.Class<T> serviceEndpointInterface)

説明

ポート(サービスにアクセスするためのプロキシ)を返します。

引数

portName:

WSDLのポート名(wsdl:port要素のname属性の値)です。

serviceEndpointInterface:

SEIのClassクラスです。

例外

javax.xml.ws.WebServiceException:

次の場合に発生します。

  • portNameにWSDLのポート名(wsdl:port要素のname属性の値)以外のQNameを指定した場合

  • portNameがnullの場合

  • serviceEndpointInterfaceがnullの場合

19

<T> T

getPort(javax.xml.namespace.QName portName, java.lang.Class<T> serviceEndpointInterface, WebServiceFeature... features)

×

20

java.util.Iterator <javax.xml.namespace.QName>

getPorts()

説明

サービスエンドポイント(WSDLに含まれるポート(wsdl:port要素))を表すQNameのリストのIteratorを返します。

例外

javax.xml.ws.WebServiceException:

wsdlDocumentLocationにnullを指定して生成したServiceインスタンスに対して,Service.create()メソッドを呼び出した場合に発生します。

21

javax.xml.namespace.QName

getServiceName()

説明

このサービスの名前(WSDLのサービス名(wsdl:service要素のname属性の値))を返します。

22

java.net.URL

getWSDLDocumentLocation()

説明

このサービスのWSDLファイルの位置を返します。引数wsdlDocumentLocationにnullを指定して生成したServiceインスタンスに対して,Service.create()メソッドを呼び出した場合にはnullを返します。

23

void

setExecutor (java.util.concurrent.Executor executor)

×

24

void

setHandlerResolver (HandlerResolver handlerResolver)

説明

このServiceインスタンスのHandlerResolverインスタンスを設定してください。

(凡例)

−:戻り値の型がないことを示します。

○:Application ServerのJAX-WS機能でサポートしています。

×:Application ServerのJAX-WS機能でサポートしていません。

注※

getPortメソッドで可変長引数を指定した場合の動作を次の表に示します。

表19‒8 可変長引数の指定方法と動作

項番

指定方法

指定例

動作

1

引数を省略

getPort(epr, sei)

可変長引数が指定されなかったと見なします。

2

引数を一つ指定

getPort(epr, sei, new FooFeatures())

可変長引数が一つ指定されたと見なします。

3

引数を二つ指定

getPort(epr, sei,

new FooFeatures(),

new BarFeatures())

可変長引数が二つ指定されたと見なします。

4

引数にnullを指定

getPort(epr, sei, null)

可変長引数が指定されなかったと見なします。

5

引数にnullを指定してWebServiceFeature 型にキャスト

getPort(epr, sei,

(WebServiceFeature) null)

内容がnullの可変長引数が指定されたと見なし,例外NullPointerExceptionが発生します。

6

引数にnullを指定してWebServiceFeature 型の配列にキャスト

getPort(epr, sei,

(WebServiceFeature[]) null)

可変長引数が指定されなかったと見なします。

(5) javax.xml.ws.wsaddressing.W3CEndpointReferenceクラス

javax.xml.ws.wsaddressing.W3CEndpointReferenceクラスのサポート範囲を次の表に示します。詳細はJAX-WS 2.2仕様を参照してください。

表19‒9 javax.xml.ws.wsaddressing.W3CEndpointReferenceクラスのサポート範囲

項番

戻り値の型

メソッド名

サポート

1

W3CEndpointReference()

2

W3CEndpointReference (javax.xml.transform.Source source)

3

void

writeTo(javax.xml.transform.Result result)

×

(凡例)

−:戻り値の型がないことを示します。

○:Application ServerのJAX-WS機能でサポートしています。

×:Application ServerのJAX-WS機能でサポートしていません。