Cosminexus アプリケーションサーバ V8 Webサービス開発の手引

[目次][用語][索引][前へ][次へ]

15.2.4 javax.xml.ws.Serviceクラス

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

表15-5 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クラスの仕様に従ってください。

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)
注意 portNameは,createDispatch()を呼び出すときに同じQNameを指定する必要があります。nullは指定できません。
bindingIdにnullを指定した場合は,SOAP1.1/HTTPのバインディングIDが設定されます。
3 static Service create(javax.xml.namespace.QName serviceName)
4 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を指定した場合を除く)
5 <T> Dispatch<T> createDispatch (EndpointReference endpointReference, java.lang.Class<T> type, Service.Mode mode, WebServiceFeature... features) ×
6 Dispatch <java.lang.Object> createDispatch (EndpointReference endpointReference, javax.xml.bind.JAXBContext context, Service.Mode mode, WebServiceFeature... features) ×
7 <T> Dispatch<T> createDispatch (javax.xml.namespace.QName portName, java.lang.Class<T> type, Service.Mode mode)
注意 portNameは,addPort()の引数に指定するポート名と同じものを指定する必要があります。nullは指定できません。
8 <T> Dispatch<T> createDispatch (javax.xml.namespace.QName portName, java.lang.Class<T> type, Service.Mode mode, WebServiceFeature... features) ×
9 Dispatch <java.lang.Object> createDispatch (javax.xml.namespace.QName portName, javax.xml.bind.JAXBContext context, Service.Mode mode)
注意 portNameは,addPort()の引数に指定するポート名と同じものを指定する必要があります。nullは指定できません。
10 Dispatch <java.lang.Object> createDispatch (javax.xml.namespace.QName portName, javax.xml.bind.JAXBContext context, Service.Mode mode, WebServiceFeature... features) ×
11 java.util.concurrent.Executor getExecutor() ×
12 HandlerResolver getHandlerResolver()
説明 このServiceインスタンスによって使用されているHandlerResolverインスタンスを返します。存在しない場合はnullを返します。
13 <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()で設定している場合
14 <T> T getPort (java.lang.Class<T> serviceEndpointInterface, WebServiceFeature... features) ×
15 <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が指定された場合
16 <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の場合
17 <T> T getPort(javax.xml.namespace.QName portName, java.lang.Class<T> serviceEndpointInterface, WebServiceFeature... features) ×
18 java.util.Iterator <javax.xml.namespace.QName> getPorts()
説明 サービスエンドポイント(WSDLに含まれるポート(wsdl:port要素))を表すQNameのリストのIteratorを返します。
例外

javax.xml.ws.WebServiceException:
wsdlDocumentLocationにnullを指定して生成したServiceインスタンスに対して,Service.create()メソッドを呼び出した場合に発生します。
19 javax.xml.namespace.QName getServiceName()
説明 このサービスの名前(WSDLのサービス名(wsdl:service要素のname属性の値))を返します。
20 java.net.URL getWSDLDocumentLocation()
説明 このサービスのWSDLファイルの位置を返します。引数wsdlDocumentLocationにnullを指定して生成したServiceインスタンスに対して,Service.create()メソッドを呼び出した場合にはnullを返します。
21 void setExecutor (java.util.concurrent.Executor executor) ×
22 void setHandlerResolver (HandlerResolver handlerResolver)
説明 このServiceインスタンスのHandlerResolverインスタンスを設定してください。

(凡例)
−:戻り値の型がないことを示します。
○:CosminexusのJAX-WS機能でサポートしています。
×:CosminexusのJAX-WS機能でサポートしていません。

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

表15-6 可変長引数の指定方法と動作

項番 指定方法 指定例 動作
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)
可変長引数が指定されなかったと見なします。