exteNd Workbench 4.1
コアヘルプ

 

    First Previous Next Last チュートリアル : WEBサービスの操作  05/19/03 09:50:45 

レッスン 5    テスト方法

 
Top of page

学習する内容

このレッスンでは、Webサービスのテスト用ツールの使用方法について説明します。 学習内容は次のとおりです。

レッスン 2, Webサービスの作成で開発したCalculator Webサービスのプロジェクトを使用します。

 
Top of section

実行する内容

  1. 配備したWebサービスのWSDLを表示する

  2. クライアントコードを編集して、TcpTunnelにメッセージをリダイレクトする

  3. TcpTunnelを使用してクライアントを実行し、メッセージトラフィックを監視する

所要時間   約10分

注記:   J2EEアプリケーションサーバを実行して、 レッスン 2, Webサービスの作成で配備したCalculator Webサービスを照会する必要があります。

 
Top of page

ブラウザでのWSDLの表示

ご存知のように、Web Serviceウィザードは、複数のJavaクラスをプロジェクトに追加します。 さらに、ウィザードの[Generate WSDL file]オプションでは、WSDLファイルをプロジェクトに追加します。 WSDLファイルは、実際のWebサービスコードへのアクセス権を持たないクライアントに対してWebサービスを記述します。 これは、ソースレイアウトではsrcディレクトリ下、アーカイブレイアウトではWEB-INF/classesディレクトリ下にあります。

ブラウザでWebサービスのURLを入力すると、サーバのjBroker Webコードは、SOAPメッセージではなく、GETリクエストを取得します。 そのため、Webサービスメソッドを実行してSOAPメッセージを返す代わりに、WebサービスのWSDLを表示します。 この機能により、Webを使用して他の開発者に、Webサービスを呼び出すクライアントアプリケーションを開発する上で必要な情報を提供することができます。

注記:   配備したWebサービス情報を共有する別の方法には、レジストリがあります( レッスン 1, WebサービスのレジストリおよびWSDLを参照)。

 
Top of section

エクササイズ 5-1: 配備したWebサービスのWSDLを表示する

この手順では、XMLを認識して表示するブラウザが必要です(Internet Explorer 5以降など)。

  1. Calculator Webサービスを配備したアプリケーションサーバが実行されていない場合は、今すぐ起動します。

  2. Internet Explorerのブラウザを開きます。

  3. レッスン 2, Webサービスの作成では、http://localhost/ProverbsCloud/Calculator/CalculatorImplなどのように、WebサービスバインドのURLを指定しました。 ブラウザでそのURLに移動します。

    ブラウザでWebサービスのWSDLが表示されます。

    tut5-1IEWSDL

 
Top of page

TcpTunnelを使用したメッセージトラフィックの検査

jBroker Webのツールの1つには、クライアントとWebサービス間で送信されたSOAPリクエスト/応答メッセージ、およびHTTPヘッダを表示するコンソールであるTcpTunnelがあります。 TcpTunnelを使用するための基本的な手順は、次のとおりです。

  1. localhostおよび固有のポート番号を使用して、クライアントコードでWebサービスのバインドURLを変更し、TcpTunnelにリクエストをリダイレクトする。

  2. 新しいポート番号に加えて、元のサーバ名およびポート番号を指定する引数を使用して、TcpTunnelを開始する。

  3. クライアントプログラムを実行し、TcpTunnelコンソールのメッセージを監視する。

次のエクササイズでは、TcpTunnelを使用してCalculatorクライアントを実行するための詳細な手順について説明します。 手順では、変更したバインドURLをテストクライアントのコードに含める方法について示します。また、クライアントコードを変更して、コマンドライン引数としてURLが受け入れられるようにすることもできます。

 
Top of section

エクササイズ 5-2: クライアントコードを編集して、TcpTunnelにメッセージをリダイレクトする

このエクササイズでは、クライアントでバインドURLを変更し、TcpTunnelによってメッセージトラフィックをリダイレクトします。

  1. Workbenchを起動し、CalculatorWSディレクトリでCalculatorプロジェクトを開きます。

    ヒント:   最近このプロジェクトを開いたことがある場合は、[File]>[Recent Files]の メニュー項目を使用できます。

  2. エディタでCalculatorImplWS_Stub.javaを開きます。 バインドURLを検索して選択し、クリップボードにコピーします。 URLは、行の2番目の文字列で、次のようになります。

      new com.sssw.jbroker.web.Binding("soap", 
      "http://localhost/ProverbsCloud/Calculator/CalculatorImpl"),
    
  3. ファイルを閉じます。

  4. エディタでCalculatorImplWSClient.javaを開きます。

  5. getRemote()メソッドを編集し、バインドを設定するコードを含めた後、スタブからURLに貼り付けます。

      public CalculatorImplWS getRemote(String[] args) throws Exception
      {
          InitialContext ctx = new InitialContext();
              
          String lookup = "xmlrpc:soap:calc.CalculatorImplWSService";
          CalculatorImplWSService service = (CalculatorImplWSService)ctx.lookup(lookup);
          CalculatorImplWS remote = (CalculatorImplWS)service.getCalculatorImplWSPort();
      
          ((javax.xml.rpc.Stub)remote)._setProperty("javax.xml.rpc.service.endpoint.address",
             "http://localhost/ProverbsCloud/Calculator/CalculatorImpl");
      
          return remote;
      }
    
  6. 貼り付けたURLで、サーバおよびポートをlocalhost:9090に変更します。ただし、Webサービスの実際のURLで、残りの部分はそのままにします。 ポート9090は、任意の未使用ポート番号です。

    この結果、コードの行は、次のようになります。

      ((javax.xml.rpc.Stub)remote)._setProperty("javax.xml.rpc.service.endpoint.address",
         "http://localhost:9090/ProverbsCloud/Calculator/CalculatorImpl");
    
  7. ファイルを保存して閉じます。

  8. Project]>[Build]の順に選択して、CalculatorImplWSClientを再コンパイルします。

 
Top of section

エクササイズ 5-3: TcpTunnelを使用してクライアントを実行し、メッセージトラフィックを監視する

このエクササイズでは、[Client Runner]ウィンドウを使用して、TcpTunnelを開始し、テストクライアントを実行します。

  1. Workbench-install-directory\bin\win32ディレクトリでDOSウィンドウ開き、次の形式でコマンドを入力して、TcpTunnelを開始します。

      tcptunnel 9090 server-with-deployed-web-service port
    

    たとえば、Webサービスをlocalhost:80に配備した場合は、次のように入力します。

      tcptunnel 9090 localhost 80
    

    サービスをwww.myweb.comに配備した場合は、次のように入力します。

      tcptunnel 9090 www.myweb.com 80
    
  2. Workbenchで、 レッスン 2, Webサービスの作成で実行した方法と同じ方法で、テストクライアントを実行します。つまり、メニューから[Project]>[Run Web Service Client Class]の順に選択してCalculatorImplWSClientクラスを選択し、2つの数値を引数として入力してから[Run]をクリックします。

  3. TcpTunnelコンソールウィンドウで、交換されているHTTPヘッダおよびSOAPメッセージを確認します。

    tut5-3TcpTunnel

    左側のペインには、クライアントからのSOAPリクエストが含まれ、右側のペインには、Webサービスからの応答が表示されます。

 
Top of page

実行した内容のまとめ

アプリケーションの開発   このレッスンでは、jBroker Webを介して実装されたWebサービスのWSDLを表示する方法について確認し、TcpTunnelを使用してSOAPメッセージトラフィックを検査する方法について学習しました。

Workbenchツールの使用   Workbenchで、次のツールを使用しました。

次の学習内容   以上で作業は完了です。 Calculator Webサービス、およびそれに対するクライアントWebアプリケーションの作成が完了しました。

J2EEおよびWorkbenchについてさらに学習するには、WARチュートリアルを参照してください。

    First Previous Next Last チュートリアル : WEBサービスの操作  05/19/03 09:50:45 

Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC, a wholly owned subsidiary of Novell, Inc. All rights reserved.