IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  SOA and Web services | Java technology | Rational  >

WebSphere Studio Application Developer

WebSphereのクライアントとして.NETを使う手順(VS.NET編)

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません


レベル: 初級

米持 幸寿, テクノロジー・エバンジェリスト, IBM

2006年 8月 10日

.NETを使うお客様で「安定性の良いWebSphereをサーバーにしたい」という声が多く聞かれます。この記事では、.NETからWebサービスを使ってWebSphereの機能(メソッド)にアクセスする手順を紹介します。

はじめに

以下の手順を行うには、次のソフトウェアが必要です。

IBM WebSphere Studio V5.1
Microsoft VisualStudio.NET または VisualStudio.NET 2003



上に戻る


実装クラスの準備

  1. あたらしいワークスペースを開きます(理解しているなら既存のものでかまいません)。
  2. 新規にエンタープライズ・アプリケーション・プロジェクトとWebプロジェクトを作ります(理解しているなら既存のものでかまいません)。


  3. エンタープライズ・アプリケーション Test(Test.ear)
    Webアプリケーション TestWeb(TestWeb.war)


  4. Webパースペクティブを開きます。
  5. TestWeb/JavaSourceの ソースコード (ZIP:8KB) をインポートします。インポートするには、ZIPファイルを展開し、「com」フォルダーをJavaSourceにドラッグ&ドロップします。
  6. サービス用クラスは以下のとおりです。


  7. データ表現クラス Value.java
    ComplexValue.java
    ComplexValueByClass.java
     
    サービス実装クラス TestSimple.java
    TestArrayOfSimple.java
    TestValue.java
    TestArrayOfValue.java
    TestComplex.java
    TestClassComplex.java
    これらのファイルすべてに対してWebサービスのウィザードを実行する



プロジェクト・ナビゲーター画面



上に戻る


Webサービス化

サービス実装クラスに対して、Webサービス・ウィザードをデフォルトで実行します。

  1. ソースファイルを右クリックし、ポップアップメニューを表示します。
  2. 「新規」-「その他」を選びます。
  3. 「Webサービス」-「Webサービス」を選び、「次へ」をクリックします。
  4. 次の項目にチェックを入れます。
    「Webサービスのテスト」
    「プロキシーの生成」
    「生成されたプロキシーをテストする」
    「警告なしにファイルを上書き」
  5. すべて「次へ」をクリックするか、「終了」をクリック。
  6. 「JSPクライアントは・・・配列をサポートししません」というような警告が出た場合は、無視。
  7. 必要に応じて、テストクライアントを実行し、テストしてください。

Webサービス画面

サービスのデプロイメント構成画面

注: Studio5.1では、Webサービスのデプロイメント・モデルを選択できます。




上に戻る


WSDLの変更と公開


WSDL

WSDLは、エンドポイント・アドレスが「localhost」になってしまっていますので、正しいホスト名に修正します。

  1. WSDLをダブルクリックしてください。
  2. サービスのタブが付いたエリアの[+]マークをクリックしてツリーを開き、wsdlsoap:addressをクリックします。
  3. 下半分にアドレスが表示されるので、localhostを正しい値に書き換えます。
  4. CTL+Sを押して保存して閉じます。
  5. すべてのWSDLファイルに対して行います。
  6. WSDLファイルのURLは長いので、inex.htmlにリンクを作りましょう。
  7. 文書ルート(WebContent)に「index.htm」を作ります。
    (WebContentを右クリックして「新規」-「HTML/XHTML」)
  8. ナビゲーター上のWSDファイルをindex.htmlを編集中のページデザイナーでドラッグ&ドロップします。

図: エンドポイントのアドレスを変更
図: エンドポイントのアドレスを変更

図: エンドポイントのアドレスを変更



上に戻る


VisualStudio.NETへの取り込み

1.VisualStuio.NETを起動し、新しいASP.NET Webプロジェクトを作成してください。


VisualStuio.NET画面

2.ナビゲーター・ビューのプロジェクト(ここではInteropWAS502)を右クリックしてポップアップメニューを表示し、「Web参照の追加」を選択します。


ポップアップメニュー

3.アドレス・バーに以下のアドレスを入力します。
http://localhost:9080/TestWeb/


アドレス・バー

4.WSDL一覧が表示されたら、TestClassComplex.wsdlをクリックします。

5.「参照の追加」ボタンをクリックすると、このWSDLがプロジェクトに追加されます。


参照の追加画面

6.ソリューション・エクスプローラーの上部にある「すべてのファイルを表示」ボタンをクリックし、localhostの下のツリーを展開すると、Reference.csというファイルがあるので、ダブルクリックします。

7.このコードは、VisualStudio.NETによって生成されたプロキシークラスです。namespace名をクリップボードにコピーしておきます。


ソリューション・エクスプローラー画面



上に戻る


実行用Webページの作成

1.ソリューション・エクスプローラーでソリューション名を右クリックし、「追加」-「Webフォームの追加」を選びます。

2.名前は何でもかまいませんが、ここではWebForm1.aspxとなったと仮定します。

3.Studioのウィンドウの左端にある「ツールボックス」にマウスポインターを動かすと、ツールボックスが現れます。「Table」をドラッグ&ドロップして画面に配置します。

4.右下にある「プロパティ」に(ID)が表示されています。これを覚えておきます。ここでは、「Table1」という名前になったと仮定します。
同様にして、データ個数を表示するLabel1も貼り付けてください。

5.画面を右クリックして「コードの表示」を選びます。

6.コード上部にusingが並んでいます。その一番下に「usingInteropWAS502.localhost;」(先ほどクリップボードにコピーしたnamespace)を追加します。


ソリューション・エクスプローラー画面

7.「// ページを初期化するユーザーコードをここに挿入します。」の下の行に、以下のコードを入力します。

TestClassComplexService s = new TestClassComplexService();
ComplexValueByClass cv = s.downloadComplexByClass();
Label1.Text = "" +  cv.valueArray.Length;
for(int i=0; i<cv.valueArray.Length; i++) 
{
        TableRow tRow = new TableRow();

        TableCell tCell = new TableCell();
        tCell.Text = "stringval";
        tRow.Cells.Add(tCell);

        tCell = new TableCell();
        tCell.Text = cv.valueArray[i].stringval;
        tRow.Cells.Add(tCell);

        Table1.Rows.Add(tRow);
}		

8.PF5を押して実行します。



以上の作業で、WebSphere上のWebサービスと、.NETのクライアントが、図のような複雑なオブジェクトの交換ができました。これは、WS-Iによって実現された相互接続性によるものです。





著者について

1987年に日本アイ・ビー・エム入社。メインフレームOS、ミドルウェアの障害対応、障害解析ソフトウェアの開発、ワークフローシステム開発、オブジェクト指向開発、Web開発など経験。2000年より、ソフトウェアのテクノロジーエバンジェリストとして活動中。




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



 


 


不充分・不完全である大変素晴らしい
 


この記事を共有する

del.icio.us del.icio.us newsing newsing FC2ブックマーク FC2ブックマーク
Choix! Choix! ニフティクリップ ニフティクリップ Yahoo!ブックマーク Yahoo!ブックマーク
MM/memo MM/memo CZブックマーク CZブックマーク livedoorクリップ livedoorクリップ
はてなブックマーク はてなブックマーク Buzzurl(バザール) Buzzurl(バザール)




上に戻る


    日本IBMについて プライバシー お問い合わせ