![]() ![]() ![]() ![]() ![]() |
チュートリアル : WEBサービスの操作 05/19/03 09:50:45 |
このレッスンでは、Webサービスのオンラインレジストリを操作するためのWorkbenchツールについて説明します。 また、Webサービスを記述し、レジストリで公開できるファイルを作成するためにWSDLエディタを使用する方法を示します。
注記: このレッスンでは、J2EEアプリケーションサーバを実行する必要はありません。
Webサービスを公開する、または使用可能なWebサービスを検索する場合は、レジストリを使用します。 このレッスンでは、Registry Managerを使用してレジストリセットを認識する方法およびレジストリ内容を検索する方法を説明します。
Webサービスのレジストリは、Webサービスおよびその他のサービスに関する情報のリポジトリです。 ビジネスやそのサービスに関する情報の検索および公開をサポートします。
プロバイダはWebサービスの作成後、レジストリ内のサービスおよびビジネスに関する情報を公開できます。そうすると、将来のコンシューマは、サービスを見つけてどのように使用するか学習できます。 コンシューマはWebサービスを検索する際、レジストリをクエリしてニーズに合ったサービスおよびビジネスを検索し、それらのサービスの使用に関する情報を取得できます。
レジストリには、ビジネスやWebサービスに関する情報が、UDDI (Universal Description, Discovery and Integration)またはebXML (Electronic Business eXtensible Markup Language)などの標準化されたXMLベースの形式で保存されます。 通常、レジストリをホストするビジネスは、レジストリに公開したり、レジストリをクエリしたりするためのWebページまたはGUIインタフェースを提供します。 その他のツールでは標準のAPIを使用して、固有のインタフェースを表示できます。
Registry Managerは、ナビゲーションペインの[Registries]タブにあります。 上のパネルに登録されているビジネスが、下のパネルにサービスが表示されます。 1つまたは複数のレジストリからリストを表示することができます。
Registry Managerを使用するには、アクセスするレジストリのプロファイルを定義します(複数の主要なレジストリについては、すでに定義されています)。 そして、検索文字列を指定してビジネスまたはサービスを検索します。 入力した文字列で始まるビジネスまたはサービスがブラウザに表示されます。
このエクササイズでは、Workbenchのインストール時に定義されるIBM Public Registryのプロファイルを扱います。
Workbenchを開始します。 Windowsの[スタート]メニューからNovell exteNd Workbenchのショートカットを使用できます。
[Profiles]ダイアログボックスで[Registries]タブを選択します。
[Edit]ボタンをクリックして、プロファイルを確認します。 プロファイルには次の値が設定されています。
このエクササイズでは、名前が「X」で始まる登録されたビジネスを検索します。
ナビゲーションペインで、[Registries]タブを選択します。
ペインには、BusinessおよびServiceの2つのサブペインがあります。
[Business]テキストボックスにXという文字を入力し、テキストボックスの横にある曲がった青い矢印をクリックします。
ヒント: 縦線(|)で区切ることにより、複数の検索語を入力できます。 たとえば、Xまた はWで始まるビジネスを検索するには、「X|W」と入力します。
定義したレジストリがRegistry Managerにより検索されます。 検索にはしばらく時間がかかるため、そのままお待ちください。15秒から4、5分かかる場合があります。 赤い[Stop]ボタンをクリックすると検索は停止し、それまでの結果を確認できます。 ボタンが赤く表示されない場合、検索は終了しています。
[Business]ペインに結果が表示されます。 展開可能なツリーで最初のレベルのノードがレジストリで、次のレベルがビジネス名です。
リストをスクロールするか、トップレベルのノードを縮小して、結果を返したレジストリを確認します。 ペインは、見やすいように広げたり伸ばしたりできます。
XMethodsを見つけます。両方のレジストリにあり、ノードを展開するとその内容を確認できます。
レジストリの情報は、自動的に入力されます。 ビジネスではプロバイダが認識して欲しい情報が表示され、固有のカテゴリが選択されます。
レジストリの[Business]セクションには、次のタイプの情報が含まれます。
ヒント: [Advanced Search]オプションを使用して(双眼鏡のボタンをクリック)、他の検索 方法も試してください。 [Advanced Search]の詳細については、『Tools Guide』の「 Registry Manager」を参照してください。
Webサービスは、レジストリでビジネスにより公開されるサービスのタイプのサブセットです。 ビジネスは、販売およびサポートの連絡先情報などのサービスだけでなく、プログラムされたWebサービスもリストに表示する場合があります。
このエクササイズでは、サービスに使用可能な情報、および使用可能な場合にサービスに対してWSDLファイルを取得する方法について学習します。
Registry Managerの[Business]ペインで、XMethodsノードを見つけて展開し、サービスのリストを表示します。
XMethods Barnes and Noble Quoteサービスをクリックします。
Registry Managerによりサービスに関する情報が取得され、[Service]ペインに表示されます。
[Service]ペインでノードを展開し、すべての情報を表示します。 多くの情報を1度に表示できるように、ペインのサイズを変更できます。
このサービスを記述するWSDLファイルを取得するには、XMethods Book Quoteと表示されているtModelアイコンの行を選択します。
[Service]テキストボックスの上にあるツールバーで、[Retrieve WSDL]アイコンをクリックします。
WSDLエディタで、Book QuoteサービスのWSDLファイルが開きます。 WSDLエディタについては、 WSDLエディタの使用を参照してください。
Book Quoteサービスの場合、「Overview URL」リンクをクリックしてブラウザでWSDLファイルを表示することもできます。 XMLを認識できるブラウザが必要です。
[Service]ペインでは、サービスの提供について技術的な詳細を表示できます。 プログラムによりアクセス可能なサービスの場合、その詳細にはサービスにアクセスするURLおよびサービスが提供するメソッドに関する情報が存在する場所が含まれます。
レジストリのサービスエントリには、次のタイプの情報が含まれます。
ヒント: サービスを検索する際、最初にビジネスを検索する必要はありません。 基本的な検索 ではサービス名が一致し、[Advanced Search](双眼鏡のボタン)を使用するとその他のサービ スデータが一致します。 詳細については、『Tools Guide』の「 Registry Manager」を参照してく ださい。
WSDLエディタは、WSDL要素を処理するための拡張機能を持つXMLエディタです。 通常は、レジストリから取得するWebサービスまたはWeb Serviceウィザードで生成されるWebサービスのWSDL定義を使用します。 しかし、WSDLファイルを編集する必要がある場合は、このエディタが便利です。
レッスン 2, Webサービスの作成では、Calculator Webサービスを作成します。 Web Serviceウィザードでサービスを記述するWSDLを生成できるため、最初から作成する必要はありません。 しかし、このレッスンでは最初から作成することにします。
このエクササイズでは、Calculator Webサービスを記述する新しいWSDLファイルを作成します。
[New File]ダイアログボックスで[Web Sercices]タブを選択し、[WSDL]を選択してから[OK]をクリックします。
WorkbenchによりWSDLエディタが起動され、編集ペインにWSDL Webサービス定義の初めの部分が表示されます。 この開いたテキストとWeb Serviceウィザードにより生成されたファイルを比較するとわずかな違いがありますが、何の影響もありません。
次のXMLテキストを選択し、エディタ内で空白行になっている定義の終了タグ</definitions>の上に貼り付けます。 4種類すべての算術演算子に対する要求と応答メッセージを定義するため、かなり長いテキストです。
注記: エディタのツールを使用して、メッセージおよびportType要素を挿入することもできます。 これらのツールについては、次の節で説明します。
<types/> <message name="subtractRequest"> <part name="arg0" type="xsd:double"/> <part name="arg1" type="xsd:double"/> </message> <message name="subtractResponse"> <part name="arg2" type="xsd:double"/> </message> <message name="divideRequest"> <part name="arg3" type="xsd:double"/> <part name="arg4" type="xsd:double"/> </message> <message name="divideResponse"> <part name="arg5" type="xsd:double"/> </message> <message name="DivideFault"> <part name="reason" type="xsd:string"/> <part name="x" type="xsd:double"/> <part name="y" type="xsd:double"/> </message> <message name="addRequest"> <part name="arg6" type="xsd:double"/> <part name="arg7" type="xsd:double"/> </message> <message name="addResponse"> <part name="arg8" type="xsd:double"/> </message> <message name="multiplyRequest"> <part name="arg9" type="xsd:double"/> <part name="arg10" type="xsd:double"/> </message> <message name="multiplyResponse"> <part name="arg11" type="xsd:double"/> </message> <portType name="CalculatorImplWS"> <operation name="subtract"> <input message="tns:subtractRequest"/> <output message="tns:subtractResponse"/> </operation> <operation name="divide"> <input message="tns:divideRequest"/> <output message="tns:divideResponse"/> <fault message="tns:DivideFault" name="fault1"/> </operation> <operation name="add"> <input message="tns:addRequest"/> <output message="tns:addResponse"/> </operation> <operation name="multiply"> <input message="tns:multiplyRequest"/> <output message="tns:multiplyResponse"/> </operation> </portType>
エディタには、トップレベルのWSDL要素の挿入を補助するダイアログボックスがあります。 エディタのWSDLには、バインドおよびサービスの2つの重要な要素が欠けています。 そのため、エディタツールを使用して追加します。
このエクササイズでは、メッセージングの処理方法を指定するバインド要素を追加します。
ファイルの下にある編集ペインで、portTypeの終了タグとdefinitionsの終了タグの間にある空白行をクリックして、挿入場所を設定します。
</portType> [ここが挿入箇所になります] </definitions>
右クリックでWSDLポップアップメニューを表示して[Insert WSDL Element]を選択し、二次メニューから[Binding]を選択します。
[Binding]ダイアログボックスで、次の情報を指定します。
オプション |
値 |
---|---|
Name |
CalculatorBinding |
Documentation |
SOAP Binding for Calculator service |
Port Type |
CalculatorImplWS |
Binding Protocol |
SOAP Binding Style: rpc Transport: http://schemas.xmlsoap.org/soap/http |
入力を終えたダイアログボックスは、次のようになります。
ファイルに挿入されたXMLには、portType要素で定義された各演算のバインド情報が含まれます。
このエクササイズでは、サービス要素を追加します。サービス要素により、配備されたWebサービスを呼び出すためにクライアントアプリケーションが使用するURLが指定されます。
ファイルの下にある編集ペインで、bindingの終了タグとdefinitionsの終了タグの間にある空白行をクリックして、挿入場所を設定します。
</binding> [ここが挿入箇所になります] </definitions>
右クリックでWSDLポップアップメニューを表示して[Insert WSDL Element]を選択し、二次メニューから[Service]を選択します。
[Service]ダイアログボックスで、次の情報を指定します。
オプション |
値 |
---|---|
Name |
CalculatorService |
Documentation |
URL for locally deployed Calculator Web Service |
入力を終えたダイアログボックスは、次のようになります。
次のXMLがファイルに挿入されます。
<service name="CalculatorService"> <documentation> URL for locally deployed Calculator Web Service </documentation> <port name="CalculatorPort" binding="CalculatorBinding"> <soap:address location="http://localhost/ProverbsCloud/Calculator/CalculatorImpl"/> </port> </service>
このレッスンの後の部分では、WSDLエディタのその他の機能の使用方法について説明します。
WSDLエディタには、WSDLドキュメントに記述されているXMLの内容をレポート形式で表示する2番目のペインがあります。 XMLスタイルシートを使用して、内容やレイアウトをカスタマイズすることができます。 この様式化されたビューで編集することはできません。
このエクササイズでは、提供されたビューを表示して、カスタムビューを追加できる場所を見つけます。
編集ペインでWSDLファイルを開き、ペインの下にある[Stylized]タブをクリックします。
WSDLの形式が詳細なビューに変わり、情報が比較的読みやすい形式で表示されます。
編集する領域を右クリックして、ポップアップメニューから[Stylesheets]、二次メニューから[Summary]を選択します。
別の形式のビューが表示されます。
編集する領域を再び右クリックして、ポップアップメニューから[Stylesheets]、二次メニューから[Custom]を選択します。
[Select Style Sheet]ダイアログボックスで、デフォルトのスタイルシートである「Details」、「Summary」、またはカスタムスタイルシートを選択できます。 独自のXSLスタイルシートを作成すると、別の形式で情報を表示することができます。
c:\WorkbenchProjectsなど、任意のディレクトリにファイルを保存します。 ファイル名は、CalculatorService.wsdlです。 ファイルを閉じます。
WSDLエディタを開くと、メインツールバーに複数のボタンが追加されます。
次のエクササイズでは、WSDLからJavaクラスを生成する方法について説明します。
このエクササイズでは、WSDLの仕様からリモートインタフェースクラスおよびその他のWebサービスクラスを作成します。 生成中のJavaファイルを使用して、新しいWebサービスまたはクライアントアプリケーションを作成できます。
注記: このエクササイズでは、開いているプロジェクトが必要です。 コードの生成のみに使用するため、任意のプロジェクトを使用できます。 プロジェクトがすでに開いており、そこからファイルを生成する場合は、 Step 7から始めてください。
Workbenchで、開いているプロジェクトを閉じ、メニューから[File]、[New Project]の順に選択します。
New Projectウィザードで、[JAR]を選択してから[OK]をクリックします。
[Project Location]フィールドの横にある省略記号(...)をクリックして、Workbenchプロジェクトを配置するディレクトリを選択し、CalcWSDLなど新しいディレクトリ名を入力します。 [Project Location]フィールドには、次のような値が表示されます。
C:\WorkbenchProjects\CalcWSDL
ダイアログボックスの残りの部分は、自動的に入力されます。
[Next]をクリックします。 プロジェクトの場所に対して入力したディレクトリが存在しない場合は、表示されたメッセージを確認して作成します。
[File]、[Recent Files]の順に選択し、再び[CalculatorService.wsdl]を開きます。
WSDLツールバーで、[Generate Java Class]ボタンをクリックします。
Workbenchに、Web Serviceウィザードのプロジェクトの場所を指定するパネルが表示されます。
パネルに次のように入力します。 指定が必要な値は、[Package]のcalcのみです。
[Next]をクリックすると、WorkbenchにWeb Serviceウィザードのクラス生成およびSOAPオプション用パネルが表示されます。
この設定に従って、ウィザードによりWebサービスクライアントのスタブクラスが生成されます。 生成されたファイルはsrc\calcディレクトリに配置され、プロジェクトに追加されます。 これらのオプションの詳細については、 レッスン 2, Webサービスの作成および レッスン 3, Webサービスのクライアントアプリケーションの作成を参照してください。
ウィザードで出力の生成が終了すると、プロジェクトのルートディレクトリの下のsrc\calcディレクトリに生成されたファイルが表示されます。
通常は、クライアントアプリケーションに対し(リモートインタフェースおよび関連クラスを含めて)スタブを生成する場合、WSDLファイルから開始します。 ただし、骨組みを生成すれば、Webサービスの作成を始めるのに必要なすべてのものが得られます。 必要な別のコードは、Webサービスメソッドのビジネス論理とのリモートインタフェースを実装するクラスです。
Workbenchには、サービスに関する情報を公開する機能もあります。
ほとんどのレジストリでは、公開する前にアカウントを設定する必要があります。 レジストリのプロファイルには、公開するURL、ID、およびパスワードを保存できます。
ヒント: 公開するには、編集ペインでサービスを記述するWSDLファイルを開きます。 WSDL エディタのツールバーに、[Publish to Registry]ボタンがあります。 表示されるダイアログ ボックスで、レジストリ、ビジネス名、およびサービスURLを指定できます。 詳細については、 『Tools Guide』の「 Registry Manager」を参照してください。
Workbenchツールの使用 Workbenchで、次のツールを使用しました。
次のレッスン 次のレッスンでは、Web Serviceウィザードについて学習します。 プロジェクトを作成し、Calculator Webサービスのコードを開発します。
![]() ![]() ![]() ![]() ![]() |
チュートリアル : 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.