WebSphere Application Server は、Java API for XML-based RPC (JAX-RPC) に対する拡張を提供し、Web Services for Java 2 Platform, Enterprise Edition (J2EE) クライアント・プログラミング・モデルを提供します。
このタスクについて
次の JAX-RPC に対する拡張および Java 2 Platform, Enterprise Edition (J2EE)
クライアント・プログラミング・モデルの Web サービスを使用して Web サービスをカスタマイズできます。
プロシージャー
- REQUEST_SOAP_HEADERS プロパティーと
RESPONSE_SOAP_HEADERS プロパティーを JAX-RPC クライアント Stub に設定すると、Web サービス・クライアントが暗黙の SOAP ヘッダーを送信または検索できるようになります。
暗黙の SOAP ヘッダーとは、WSDL ファイルで明示的に定義されていない SOAP ヘッダーのことです。
暗黙の SOAP ヘッダー・ファイルは、以下の説明の 1 つに当てはまります。
- WSDL ファイルのバインディング内の SOAP ヘッダーとしてメッセージ・パーツが宣言されているが、メッセージ定義は、WSDL ファイル内の portType によって参照されていない。
- WSDL ファイルに含まれていないエレメント。
ハンドラーおよびサービス・エンドポイントは、SOAP with Attachments API for Java (SAAJ) データ・モデルを使用して、暗黙的または明示的な SOAP ヘッダーを取り扱うことができます。
トランスポート・ヘッダーの送信または検索のためのクライアント・コードの変更方法については、暗黙の SOAP ヘッダーからの値の送信または暗黙の SOAP ヘッダーからの値の受信を参照してください。
- REQUEST_TRANSPORT_PROPERTIES プロパティーと
RESPONSE_TRANSPORT_PROPERTIES プロパティーを JAX-RPC クライアント Stub に設定すると、Web サービス・クライアントが
HTTP トランスポート・ヘッダーを送信または検索できるようになります。
トランスポート・ヘッダーを送信するためにクライアント・コードを変更すると、発信要求の HTTP トランスポート・ヘッダー内
にある特定の情報を送信できます。
トランスポート・ヘッダーの送信または検索のためのクライアント・コードの変更方法については、HTTP トランスポート・ヘッダーの送信または HTTP トランスポート・ヘッダーの受信を参照してください。
Web サービス・クライアントが HTTP トランスポート・ヘッダーを送信または検索できるようにするには、HTTP トランスポート・ヘッダー・プロパティーのベスト・プラクティスを参照してください。
- JAX-RPC 仕様に記載されているように、
javax.xml.rpc.ServiceFactory.loadService() メソッドのサポートをインプリメントします。
loadService メソッドは、生成されたサービス実装クラスのインスタンスを、実装に固有の方法で作成します。
loadService メソッドは、JAX-RPC
1.1 の新規機能であり、以下の 3 つのシグニチャーを含みます。
- public.javax.xml.rpc.Service loadService (Class serviceInterface)
JAX-RPC 仕様で記載されているように、このメソッドは、サービス・インターフェースに対して生成されたサービス・インプリメンテーションを戻します。JAX-RPC 仕様については、Web サービス: 学習用リソースで調べることができます。
- public.javax.xml.rpc.Service loadService (URL wsdlDocumentLocation、Class serviceInterface、Properties properties)
このメソッドは、loadService (Class serviceInterface) のように動作します。以下のパラメーターを無視するためです。
- wsdlDocumentLocation
- properties
- public.javax.xml.rpc.Service loadService (URL wsdlDocumentLocation、QName serviceName、Properties properties)
このメソッドは、オプションのネーム・スペースからパッケージへのマッピング情報を使用して、指定されたサービスに対して生成されたサービス・インプリメンテーションを戻します。
- 特定の XML スキーマ・タイプの具象カスタム・データ・バインダーを提供するために、CustomBinder インターフェースをインプリメントします。
カスタム・データ・バインダーは、XML スキーマ・タイプを Java オブジェクトにマップするのに使用されます。
カスタム・データ・バインダーは、現行の Java API for XML-based Remote Call Procedure
(JAX-RPC) 仕様でサポートされていない XML スキーマ・タイプに対してバインディングを提供します。
WebSphere Application Server では、特定の XML スキーマ・タイプに対し
てこれらのカスタム・バインディングを実装する、CustomBinder
と呼ばれる Java 2 Enterprise Edition (J2EE) プログラミング・モデルの拡張を提供しています。
CustomBinder インターフェースには、deserialize および serialize メソッドのほかに、以下の 3 つのプロパティーがあります。
- XML スキーマ・タイプの QName
- QName 有効範囲
- Java 型
カスタム・データ・バインダーは、Java オブジェクトと SOAPElement インターフェース間で変換を行うためのシリアライズ・メソッドやデシリアライズ・メソッドを定義します。
カスタム・データ・バインダーはランタイム・システムに追加され、SOAPElement を使用して Web サービス・ランタイムと対話をします。
これらは、カスタム・バインディング・プロバイダーを使用することで、ランタイムに追加されます。
CustomBinder インターフェースに関連するトピックについてさらに学習するには、関連リンクを参照してください。
次の作業
これらのプログラミング・モデル拡張に関連するトピックについてさらに学習するには、関連リンクを参照してください。
API および SPI で使用される文書については、参照: 生成 API 資料を参照してください。
Web サービスの開発で使用される標準および API については、仕様を参照してください。