WSDLのサービス(wsdl:service要素のname属性)およびポート(wsdl:port要素のname属性)から,サービスクラスへのマッピングについて説明します。
WSDLのサービスおよびポートと,サービスクラスは,JAX-WS 2.2仕様に従ってマッピングされます。マッピング例を次の図に示します。
図15-12 サービスおよびポートとサービスクラスのマッピング例
また,WSDLのサービスおよびポートは,スケルトンクラスにもマッピングされます。マッピング例を次の図に示します。
図15-13 サービスおよびポートとスケルトンクラスのマッピング例
表15-17 サービスクラスが持つメソッド
項番 | 戻り値の型 | メソッド名/説明 | サポート | |
---|---|---|---|---|
1 | - | ServiceName()※1 | ○ | |
説明 | このコンストラクタ中で親クラスjavax.xml.ws.Service※2 (java.net.URL wsdlDocumentLocation, javax.xml.namespace.QName serviceName)のコンストラクタが呼び出されます。 wsdlDocumentLocationおよびserviceNameは,WSDLからマッピングされた定義を使用します。 カタログ機能が有効な場合は,WSDLからマッピングした定義を,カタログファイルで指定した別のURIにマッピングし,wsdlDocumentLocationとして使用します。カタログ機能については「27. カタログ機能」を参照してください。 | |||
例外 | javax.xml.ws.WebServiceException | |||
2 | - | ServiceName(javax.xml.ws.WebServiceFeature... features)※1 | × | |
3 | - | ServiceName(java.net.URL wsdlLocation)※1 | ○ | |
説明 | このコンストラクタ中で親クラスjavax.xml.ws.Service※2 (java.net.URL wsdlDocumentLocation, javax.xml.namespace.QName serviceName)のコンストラクタが呼び出されます。 serviceNameは,WSDLからマッピングされた定義を使用します。 カタログ機能が有効な場合は,この引数に指定したWSDLロケーションを示すURLを,別のWSDLロケーションを示すURIにマッピングします。カタログ機能については「27. カタログ機能」を参照してください。 | |||
引数 |
| |||
例外 | javax.xml.ws.WebServiceException | |||
4 | - | ServiceName(java.net.URL wsdlLocation, javax.xml.ws.WebServiceFeature... features)※1 | × | |
5 | - | ServiceName(java.net.URL wsdlLocation, javax.xml.namespace.QName serviceName)※1 | ○ | |
説明 | このコンストラクタ中で親クラスjavax.xml.ws.Service※2 (java.net.URL wsdlDocumentLocation, javax.xml.namespace.QName serviceName)のコンストラクタが呼び出されます。 | |||
引数 |
| |||
例外 | javax.xml.ws.WebServiceException | |||
6 | - | ServiceName(java.net.URL wsdlLocation, javax.xml.namespace.QName serviceName, javax.xml.ws.WebServiceFeature... features) | × | |
7 | SEIを実装するプロキシ | getPortName()※3 | ○ | |
説明 | 親クラスjavax.xml.ws.ServiceのgetPort※2 (javax.xml.namespace.QName portName, java.lang.Class<T> serviceEndpointInterface)メソッドが呼び出されます。 portNameおよびserviceEndpointInterfaceは,WSDLからマッピングされた定義を使用します。 このメソッドにはjavax.xml.ws.WebEndpointアノテーションが付与されます。 | |||
例外 | javax.xml.ws.WebServiceException | |||
8 | SEIを実装するプロキシ | getPortName(javax.xml.ws.WebServiceFeature... features)※3 | ○ | |
説明 | 親クラスjavax.xml.ws.ServiceのgetPort※2 (javax.xml.namespace.QName portName, java.lang.Class<T> serviceEndpointInterface, WebServiceFeature... features)メソッドが呼び出されます。 portNameおよびserviceEndpointInterfaceは,WSDLからマッピングされた定義を使用します。 このメソッドにはjavax.xml.ws.WebEndpointアノテーションが付与されます。 | |||
引数 |
| |||
例外 | javax.xml.ws.WebServiceException |
サービス名およびポート名には,次の表に示すすべての条件を満たす文字列を記述できます。ただし,バインディング宣言でカスタマイズする場合は,XML Schema仕様のxsd:NCName型として使用できる文字列を記述できます。
表15-18 サービス名およびポート名に記述できる文字列の条件
項番 | 条件 | 不正な文字列の例 | 不正な文字列を指定した場合の動作 |
---|---|---|---|
1 | 半角英数字(0~9,A~Z,a~z),およびアンダースコア(_)だけを使用した文字列 | 鈴木_service 鈴木_port | 動作は保証されません(エラーメッセージは出力されません)。 |
2 | 先頭が数字以外の文字列 | 1User_service 1User_port | 標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。 |