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 サービスを実行するには
適切なドメインにある 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
WebLogic Workshop でサービスを開いて [開始] を選択するか、またはブラウザのアドレス バーに「http://localhost:7001/samples/service/QuoteClient.jws」と入力して、サービスを起動します。適切なドメインにある WebLogic Server がこのマシン上で実行されている場合は、ここをクリックしてサンプルを実行することもできます。
必要な場合は、テスト ビューの [Test Form] タブに移動します。
tickerSymbol の値(当然、BEAS)を入力して、getQuote メソッドを呼び出します。
その後、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 サービスを使用する