サービスエンドポイントインタフェースを作成後、WebサービスウィザードでWebサービスアプリケーションに必要なファイルを作成します。
サービスエンドポイントインタフェースの作成
Webサービスとして公開するサービスのインタフェースをJavaで記述します。
新規ウィザードから[インタフェース]を選択し、サービスエンドポイントインタフェースを作成します。
サービスエンドポイントインタフェースは、以下を満たす必要があります。
java.rmi.Remoteを継承する
定義するメソッドはjava.rmi.RemoteExceptionをthrows句に宣言する
注意
メソッドを定義する場合には、使用可能なデータ型の範囲で行うようにしてください。使用可能なデータ型の詳細については、"Interstage Application Server J2EE ユーザーズガイド(旧版互換)"を参照してください。
Webサービスに必要なファイルの生成
サービスエンドポイントインタフェースから、Webサービスアプリケーションに必要なファイルを生成します。新規ウィザードから[Webサービス] > [IJServer] > [Webサービス(JAX-RPC)]を選択し、ウィザードで生成します。ウィザードでの設定は、以下を参考にしてください。
[サービスエンドポイント関連情報]ページ
項目 | 説明 | |
---|---|---|
ソースフォルダ | 実装テンプレートクラスの生成先フォルダを指定します。 | |
サービスエンドポイントインタフェース名 | Webサービスで公開するサービスエンドポイントインタフェース名を完全修飾名で指定します。 指定するサービスエンドポイントインタフェースは、以下の規則を満たしている必要があります。
| |
実装テンプレートクラス | 実装テンプレートクラスの情報を指定します。 | |
パッケージ | 作成する実装テンプレートのパッケージを指定します。 | |
実装テンプレートクラス名 | 作成する実装テンプレートクラス名を指定します。 | |
上書き生成しない | 既存の実装テンプレートクラスを上書きしたくない場合に、選択します。 |
[WSDLファイル関連情報]ページ
項目 | 説明 |
---|---|
WSDLファイル名 | 生成するWSDLファイルがContextRoot配下の相対パスで表示されます。 |
style属性/use属性 | WSDLに記述されるstyle属性とuse属性を指定します。以下から選択可能です。
WS-I Basic Profile 1.0 に準拠した方式とする場合には、DOCUMENT/LITERALまたはRPC/LITERALを指定します。 |
Location情報 | WebサービスにアクセスするためのエンドポイントURLを指定します。 |
添付ファイル | Webサービスで添付ファイルを扱うアプリケーションを開発する際のWSDLの生成方法を指定します。以下から選択可能です。
添付ファイルを利用して、WS-I Attachments Profile 1.0 準拠した方式のWSDLファイルを生成する場合は、サービスエンドポイントインタフェースでjavax.activation.DataHandlerクラスを利用して、WS-I Attachments Profile 1.0準拠のWSDLファイル生成を指定します。 WS-I Attachments Profile 1.0準拠のWSDLファイル生成を指定した場合に添付ファイルで使用する以下のクラスを使うと生成エラーとなります。
javax.activation.DataHandlerクラス以外のクラスを使用する場合は、バイナリからJavaオブジェクトへの変換が行われ、オリジナルのファイルデータが完全に保持されないため、javax.activation.DataHandlerクラスを利用することを推奨します。 |
注意
Webサービスウィザードを使用するには、Interstage Application Server機能またはInterstage Application Serverクライアントパッケージをインストールしておく必要があります。
Webサービス(JAX-RPC)ウィザードでは、クラスファイル(.class)を解析し情報取得を行うため、ウィザードを起動する前にサービスエンドポイントインタフェースのコンパイルが行われている必要があります。
ポイント
ワークベンチの初期状態では、ファイルの保存時に自動的にビルドが行われるようにオプションが設定されています。その場合、サービスエンドポイントインタフェースの保存が行われ、コンパイルエラーが発生していなければ問題ありません。
Webサービスウィザードを起動する際に、プロジェクトエクスプローラでサービスエンドポイントインタフェースを選択すると、ウィザードのサービスエンドポイントインタフェース名など入力項目が初期値として設定されています。
以下にWebサービスウィザードで生成されるファイルを示します。
生成ファイル | ファイル名 | 内容 |
---|---|---|
Webサービスエンドポイント | <サービスエンドポイントインタフェース名>SOAPBindingImpl.java | サービスエンドポイントインタフェースの実装クラスです。このクラスにWebサービスの実装を記述します。 ウィザードで指定したパッケージ、名前でソースフォルダ配下に生成されます。 |
WSDLファイル | <サービスエンドポイントインタフェース名>.wsdl | Webサービスのインタフェース定義ファイルです。 <コンテンツフォルダ>/WEB-INF/wsdl配下に生成されます。 |
deployment descriptor | webservices.xml | Webサービスに関する配備情報が記述されているファイルです。 <コンテンツフォルダ>/WEB-INF配下に生成されます。(既存のファイルがある場合には情報が追記されます。) |
web.xml | WARファイルの配備情報が記述されているファイルです。 <コンテンツフォルダ>/WEB-INF配下に生成されます。(既存のファイルがある場合には情報が追記されます。) | |
その他のファイル | <WSDLファイル名>_mapping.xml | Webサービスの実行に必要な自動生成ファイルです。 <コンテンツフォルダ>/WEB-INF配下に生成されます。 |
ポイント
ファイル生成時のJava型からWSDLのXML型への交換規則については、"Interstage Application Server J2EE ユーザーズガイド(旧版互換)"を参照してください。
WSDLファイルの編集
WSDLファイルの編集は、WSDLエディタを利用します。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サービスアプリケーションを実装します。ウィザードで生成されたWebサービスエンドポイントにWebサービスの実装コードを記述します。
その他の生成されたファイルは、通常は編集する必要はありません。編集する場合は、ファイルの内容を理解したうえで修正を行ってください。各ファイルの詳細は、"Interstage Application Server J2EE ユーザーズガイド(旧版互換)"を参照してください。
ポイント
サービスエンドポイントインタフェースでHolderクラスを使用している場合、そのパラメタはinout型として扱われます。パラメタをout型にしたい場合には、WSDLファイルを編集する必要があります。