Webサービスアプリケーションの開発資産の作成、編集方法を説明します。
ポイント
Webサービスアプリケーションおよび、Webサービスアプリケーションクライアントの作成には、Interstage Application Serverのコマンドを利用します。コマンドの詳細については、Interstage Application Serverのリファレンスマニュアル(コマンド編)を参照してください。
Webサービスアプリケーションの作成
Webサービスアプリケーションの作成方法について説明します。
サービスエンドポイントインタフェースをJava上のインタフェースとして定義します。
WSDLファイルが存在しない場合は、サービスエンドポイントインタフェースを作成します。
WSDLファイルの作成
WSDLファイルは、以下のコマンドで作成します。
iswsgen wsdl [オプション] %サービスエンドポイントインタフェースクラス名% |
以下のファイルが生成されます。
生成ファイル | 説明 |
---|---|
WSDLファイル | Webサービスのインタフェース定義ファイル ファイル名は-wsdlFileオプションで指定できます。WSDLのPortType要素の名前は、サービスエンドポイントインタフェース名が使用されます。ファイルの出力先は-moduleオプションの指定値により決まります。 |
<WSDLファイル名>_mapping.xml | Webサービスアプリケーションとしてパッケージする際に、アプリケーションとともにパッケージングするファイルです。 プロトコル(SOAP)で使用するXMLとアプリケーションの対応付けが記述されています。ファイルの出力先は-moduleオプションの指定値により決まります。 |
Webサービスに必要なファイルの作成
Webアプリケーションに必要なファイルは、以下のコマンドで作成します。
iswsgen server [オプション] %WSDLファイルのパス% |
以下のファイルが生成されます。
生成ファイル | 説明 |
---|---|
サービスエンドポイントインタフェース | Webサービスとして提供するWebサービスアプリケーションの公開インタフェースを定義するJavaインタフェースのソースです。 インタフェース名はWSDLのPortType要素の名前が使用されます。 |
ユーザ定義型クラスソース | WSDLのoperationのパラメタとしてユーザ定義型が指定されている場合に、対応するJavaクラスソースを生成します。 クラス名はユーザ定義型の型名が使用されます。 |
その他のクラスソース | アプリケーションの実行に必要なクラスのソースです。生成するJavaソースファイルに応じて必要なものが生成されます(WSDLの内容によって生成される場合と、生成されない場合があります)。クラス名はすべて“_isws_”で始まります。 |
Webサービスの実装クラスの生成
作成したサービスエンドポイントインタフェースを実装したサービスエンドポイントクラスを作成します。
WSDLファイルの編集
WSDLファイルの編集は、WSDLエディタを利用します。WSDLエディタについては、"WSDLエディタ"を参照してください。
deployment descriptorの編集
以下のdeployment descriptorの編集には、XMLエディタを利用します。XMLエディタについては、"XMLファイルを編集する"を参照してください。
webservices.xml
web.xml(WebサービスをWebアプリケーションとして提供する場合)
ejb-jar.xml(WebサービスをEJBアプリケーションとして提供する場合)
Webサービスクライアントアプリケーションの作成
Webサービスのインタフェース情報(WSDLファイル)の取得
Webサービスクライアントを作成するために、WSDLファイルを取得します。
Interstage Application ServerのWebサービスの場合、Interstage管理コンソールのワークユニット > "IJServer名" > [アプリケーション状態/配備解除]タブでWebモジュールを選択して、[Webサービス環境定義]タブよりそのWebサービスの公開用WSDLを取得できます。
Webサービスの開発資産がある場合には、開発資産のWSDLを利用することもできます。
スタブの生成
スタブは、WSDLファイルから以下のコマンドを利用して作成します。
iswsgen client [オプション] %WSDLファイルのパス% |
以下のファイルが生成されます。
生成ファイル | 説明 |
---|---|
サービスエンドポイントインタフェース | Webサービスとして提供するWebサービスアプリケーションの公開インタフェースを定義するJavaインタフェースのソースです。 インタフェース名はWSDLのPortType要素の名前が使用されます。 |
Serviceインタフェース | WSDLファイルに記述されたWebサービスを表すJavaインタフェースのソースです。Webサービスアプリケーションのスタブを取得できます。 インタフェース名はWSDLのService要素の名前が使用されます。 |
ユーザ定義型クラス | WSDLのoperationのパラメタとしてユーザ定義型が指定されている場合に、対応するJavaクラスソースを生成します。 クラス名はユーザ定義型の型名が使用されます。 |
スタブ/サービス実装 | サービスエンドポイントインタフェースを実装したクラスおよびServiceインタフェースを実装したクラスのソースです。クラス名はすべて“_isws_”で始まります。 |
注意
iswsgen client コマンドで生成されるサービスエンドポイントインタフェースやユーザ定義型クラスは、Webサービスアプリケーションのものと異なる場合があります。
クライアントアプリケーションの開発では、必ずiswsgen client コマンドで生成したものを使用してください。
Webサービスクライアントの開発
生成されたスタブなどを利用してWebサービスにアクセスするクライアントアプリケーションを作成します。
Webサービスにアクセスするには、スタブを取得して、スタブのメソッドを呼び出します。