ページの先頭行へ戻る
Interstage Studio ユーザーズガイド
Interstage

C.3.2 Webサービスを作成する

サービスエンドポイントインタフェースを作成後、WebサービスウィザードでWebサービスアプリケーションに必要なファイルを作成します。

サービスエンドポイントインタフェース作成

Webサービスとして公開するサービスのインタフェースをJavaで記述します。

新規ウィザードから[インタフェース]を選択し、サービスエンドポイントインタフェースを作成します。

サービスエンドポイントインタフェースは、以下を満たす必要があります。

注意

メソッドを定義する場合には、使用可能なデータ型の範囲で行うようにしてください。使用可能なデータ型の詳細については、"Interstage Application Server J2EE ユーザーズガイド(旧版互換)"を参照してください。

Webサービスに必要なファイルの生成

サービスエンドポイントインタフェースから、Webサービスアプリケーションに必要なファイルを生成します。新規ウィザードから[Webサービス] > [IJServer] > [Webサービス(JAX-RPC)]を選択し、ウィザードで生成します。ウィザードでの設定は、以下を参考にしてください。

[サービスエンドポイント関連情報]ページ

項目

説明

ソースフォルダ

実装テンプレートクラスの生成先フォルダを指定します。
WSDLファイルやdeployment descriptorなどは、指定したソースフォルダが属するプロジェクトのContextRoot配下に生成されます。
WebアプリケーションプロジェクトおよびEnterprise JavaBeansバージョンが"2.1"のEnterprise JavaBeansプロジェクト以外のプロジェクト内のソースフォルダは指定できません。

サービスエンドポイントインタフェース名

Webサービスで公開するサービスエンドポイントインタフェース名を完全修飾名で指定します。

指定するサービスエンドポイントインタフェースは、以下の規則を満たしている必要があります。

  • java.rmi.Remoteを継承していること

  • メソッドのthrows句にjava.rmi.RemoteExceptionが設定されていること

  • メソッドのオーバロードがされていないこと

実装テンプレートクラス

実装テンプレートクラスの情報を指定します。
[ソースフォルダ]に指定したプロジェクトがEnterprise JavaBeansプロジェクトの場合は指定できません。


パッケージ

作成する実装テンプレートのパッケージを指定します。
デフォルトでは、サービスエンドポイントインタフェースのパッケージ名が表示されます。サービスエンドポイントインタフェースとパッケージを同じにしたくない場合は変更してください。

実装テンプレートクラス名

作成する実装テンプレートクラス名を指定します。
デフォルトでは、サービスエンドポイントインタフェース名+"SOAPBindingImpl"が表示されます。

上書き生成しない

既存の実装テンプレートクラスを上書きしたくない場合に、選択します。

[WSDLファイル関連情報]ページ

項目

説明

WSDLファイル名

生成するWSDLファイルがContextRoot配下の相対パスで表示されます。

style属性/use属性

WSDLに記述されるstyle属性とuse属性を指定します。以下から選択可能です。

  • DOCUMENT/LITERAL

  • RPC/ENCODED

  • RPC/LITERAL

WS-I Basic Profile 1.0 に準拠した方式とする場合には、DOCUMENT/LITERALまたはRPC/LITERALを指定します。
DOCUMENT/LITERALの方がプログラム通信に適しており、特に理由が無い場合は、より広く使用されているDOCUMENT/LITERALを選択することをお勧めします。
RPC/ENCODEDは、WS-I Basic Profile 1.0 が策定される前に広く利用されていた方式です。以前のSOAPサービスを利用したシステムとの接続など、RPC/ENCODEDでの接続が必要である場合などに選択します。

Location情報

WebサービスにアクセスするためのエンドポイントURLを指定します。
この値は運用環境に依存する値です。ローカル環境でクライアントと組み合わせて動作確認する場合のために、デフォルトの値を設定しています。

添付ファイル

Webサービスで添付ファイルを扱うアプリケーションを開発する際のWSDLの生成方法を指定します。以下から選択可能です。

  • WS-I Attachments Profile 1.0準拠のWSDLファイル生成

  • 固有データ型を使用した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ファイル生成を指定した場合に添付ファイルで使用する以下のクラスを使うと生成エラーとなります。

  • java.awt.Image

  • javax.mail.internet.MimeMultipart

  • javax.xml.transform.Source

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の妥当性を検証するために、以下のバリデータが用意されています。

これをビルド時に実行する場合は、[検証]ビルダを選択した上で、[検証]プロパティでバリデータを実行するように設定してください。通常は設定されています。

上記で設定されているバリデータについては、ビルド時以外にもリソースを選択し、コンテキストメニューから[検証]を選択することで実行することができます。

deployment descriptorの編集

以下のdeployment descriptorの編集には、XMLエディタを利用します。XMLエディタについては、"XMLファイルを編集する"を参照してください。

Webサービスアプリケーション実装

Webサービスアプリケーションを実装します。ウィザードで生成されたWebサービスエンドポイントにWebサービスの実装コードを記述します。

その他の生成されたファイルは、通常は編集する必要はありません。編集する場合は、ファイルの内容を理解したうえで修正を行ってください。各ファイルの詳細は、"Interstage Application Server J2EE ユーザーズガイド(旧版互換)"を参照してください。

ポイント

サービスエンドポイントインタフェースでHolderクラスを使用している場合、そのパラメタはinout型として扱われます。パラメタをout型にしたい場合には、WSDLファイルを編集する必要があります。