QuoteClient.jws サンプル

呼び出された Web サービスのパブリック コントラクトを遵守しながら、サービス コントロールの CTRL ファイルを変更して、1 つまたは複数のメソッドの Java シグネチャを変更する機能を示します。QuoteServiceControl.ctrl は、元々は QuoteService.jws Web サービスから生成されたものです。しかし、QuoteServiceControl.ctrl の 1 つのメソッドでパラメータが削除され、付属の XML マップではハードコード化された値に置き換えられました。そのため、送信される XML メッセージは同じでも、サービス コントロールのクライアントから見える Java シグネチャは簡素化されています。

このサンプルによって示される概念

サンプル ファイルの場所

このサンプルは、samples WebLogic Workshop プロジェクトの service フォルダにあります。ファイル システムでの場所は次のとおりです。

BEA_HOME\weblogic700\samples\workshop\applications\samples\service\QuoteClient.jws

サンプルの実行方法

この Web サービスを実行するには

  1. 適切なドメインにある WebLogic Server を起動します。

    • Microsoft Windows システムでは、[スタート] メニューから次のように選択します。

    [BEA WebLogic Platform 7.0|WebLogic Workshop|WebLogic Workshop Examples|Start Examples Server]

    • Linux システムまたは Solaris システムでは、次のスクリプトを実行します。

    BEA_HOME/weblogic700/samples/workshop/startWebLogic.sh

  2. WebLogic Workshop でサービスを開いて [開始] を選択するか、またはブラウザのアドレス バーに「http://localhost:7001/samples/service/QuoteClient.jws」と入力して、サービスを起動します。適切なドメインにある WebLogic Server がこのマシン上で実行されている場合は、ここをクリックしてサンプルを実行することもできます。

  3. 必要な場合は、テスト ビューの [Test Form] タブに移動します。

  4. tickerSymbol の値(当然、BEAS)を入力して、getQuote メソッドを呼び出します。

  5. その後、QuoteClient は QuoteServiceControl サービス コントロールを介して、QuoteService の getQuote メソッドを呼び出し、指定された表示記号について相場価格を返します。

このサンプルの主眼は、サンプルの実行自体ではありません。QuoteService.jws を調べると、getQuote メソッドは 2 つのパラメータを想定していることがわかります。しかし、QuoteClient が呼び出しているメソッドのパラメータは 1 つです。このパラメータは、QuoteServiceControl サービス コントロールの XML マップで指定されます。

QuoteServiceControl.ctrl は、元々は QuoteService.jws から生成されたものですが、後から変更が加えられました。まず、getQuote の最初のパラメータが Java シグネチャから削除され、呼び出し側はパラメータを渡すことが想定されなくなりました。次に、値としてハードコード化された <customerID> 要素を持つ、XML マップが getQuote に追加されました。この場合でも、QuoteService の想定どおり、パラメータが 2 つあるメッセージが成形されます。具体的には、呼び出し側のサービスがパラメータを 1 つ渡すと、サービス コントロールによってハードコード化されたパラメータが組み合わされ、対象のサービスが想定する 2 つのパラメータ メッセージが生成されます。

関連トピック

コントロール : Web サービスからリソースを使用する

サービス コントロール : 他の Web サービスを使用する

サービス コントロールをカスタマイズする : XML マップで Java から XML への変換を定義する

会話を使用してステートを保持する

コールバックを使用してイベントのクライアントに通知する

JwsContext インタフェース

テスト ビュー