J2EE機能の場合
J2EEのInterstage Webサービスでは、アプリケーションはWeb Services for J2EE 1.1およびJAX-RPC 1.1に従います。
J2EEのInterstage Webサービスの機能は、以下の製品で使用できます。
Interstage Application Server Enterprise Edition
Interstage Application Server Standard-J Edition
以下にJ2EEのInterstage Webサービスのサーバ機能の作成の概要を示します。
以下にJ2EEのInterstage Webサービスのクライアント機能の作成の概要を示します。
Java EE機能の場合
Java EEのWebサービスでは、アプリケーションはWeb Services for Java EE 1.2およびJAX-WSに従います。
JAX-WSは、JAX-RPCの後継という位置付けですが、JAX-RPCに対する下位互換性はありません。移行には、アプリケーションの変更が必要です。
以下にJava EEのWebサービスのサーバ機能の作成の概要を示します。
以下にJava EEのWebサービスのクライアント機能の作成の概要を示します。
■比較(Webサービスアプリケーションの作成方法)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
サービスエンドポイントインタフェースの定義 | |
- | |
Webサービスエンドポイントクラスの実装 | |
deployment descriptorの編集 | |
配備 | |
インタフェースの提供 |
サービスエンドポイントインタフェースの定義
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
サービスエンドポイントインタフェースの定義 | 必須です。 java.rmi.Remoteインタフェースを継承したインタフェースとします。 メソッドはjava.rmi.RemoteExceptionをthrowします。 | サービスエンドポイントインタフェースの定義 | 省略可能です。 定義する場合は、任意のJavaインターフェースにjavax.jws.WebServiceアノテーションを付加します。 |
Java EE機能では、エンドポイントの実装クラスのみでWebサービスアプリケーションが作成できます。
WSDLの生成
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
WSDLの生成 | iswsgen wsdlコマンドを使用して生成します。 | - | Webサービスアプリケーションの配備時に自動生成されます。 |
Webサービスエンドポイントクラスの実装
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
Webサービスエンドポイントクラスの実装 | サービスエンドポイントインタフェースを実装します。 | Webサービスエンドポイントクラスの実装 | 任意のpublicクラスにjavax.jws.WebServiceアノテーションを付加します。 |
deployment descriptorの編集
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
deployment descriptorの編集 | 以下のファイルを編集します。 webservice.xml web.xml(WARファイルの場合) ejb-jar.xml(ejb-jarファイルの場合) | deployment descriptorの編集 | 省略可能です。 Java EE機能では、Webサービスアプリケーションの配備時に自動生成されます。 カスタマイズしたい場合は、javax.jws.WebServiceアノテーションで指定します。 アノテーションで指定できない項目はdeployment descriptorに記述し、WARまたはejb-jarモジュールにパッケージングしてください。 |
配備
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
配備 | Interstage管理コンソール、またはijsdeploymentコマンドで配備します。 | 配備 | Interstage Java EE管理コンソール、またはasadminコマンドのdeployサブコマンドで配備します。 |
インタフェースの提供
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
インタフェースの提供 | IJServerにWebサービスアプリケーションを配備して取得できる公開WSDLを任意の方法で提供します。 | インタフェースの提供 | WSDL取得URLを通知します。または、ijwsimportコマンドで取得して提供します。 |
■比較(Webサービスクライアントアプリケーションの作成方法)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
スタブ生成 | |
クライアントアプリケーションの作成 |
スタブ生成
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
スタブ生成 | iswsgen clientコマンドで生成します。生成されるのは、ソースファイルであり、コンパイルが必要です。 | スタブ生成 | ijwsimportコマンドで生成します。生成されるのは、.classファイルです。 -keepオプションを指定して、ソースファイルも取得、保管することを推奨します。 |
クライアントアプリケーションの作成
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
クライアントアプリケーションの作成 | 生成したスタブ、JAX-RPCおよびSAAJのAPIを使用し、Web Services for J2EEに従ったアプリケーションを作成します。 | クライアントアプリケーションの作成 | 生成したスタブ、JAX-WSのAPIを使用して、Web Services for Java EEに従ったアプリケーションを作成します。 |
■比較(Webサービスの実行)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
クライアントアプリケーションがIJServer上以外で動作する場合 |
クライアントアプリケーションがIJServer上以外で動作する場合
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
クライアントアプリケーションがIJServer上以外で動作する場合 | javaコマンドで実行します。 | クライアントアプリケーションがIJServer上以外で動作する場合 | appclientコマンドで実行します。 |
■比較(Webサービス開発コマンド)
詳細は、「2.4 運用操作コマンド」の「■比較(Webサービス開発コマンド)」を参照してください。
■比較(HTTP接続に関する設定)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
接続先URLを指定する方法 | |
Webサービスのユーザ名/パスワードを設定する方法 | |
接続のタイムアウトを指定する方法 | |
セション管理の利用を指定する方法 | |
プロキシを経由した接続 |
接続先URLを指定する方法
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
接続先URLを指定する方法 | プログラム中で、スタブオブジェクトに対して以下のプロパティで指定します。 キー名:javax.xml.rpc.service.endpoint.address | 接続先URLを指定する方法 | プログラム中で、リクエストコンテキストのプロパティにjavax.xml.ws.BindingProviderオブジェクトを通して指定します。 キー名:javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY |
「Java EE運用ガイド」-「Webサービスクライアントアプリケーションの開発」-「HTTP関連のリクエストプロパティ設定」を参照してください。
Webサービスのユーザ名/パスワードを設定する方法
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
Webサービスのユーザ名/パスワードを設定する方法 | プログラム中で、スタブオブジェクトに対して以下のプロパティで指定します。 キー名:javax.xml.rpc.security.auth.username javax.xml.rpc.security.auth.password | Webサービスのユーザ名/パスワードを設定する方法 | プログラム中で、リクエストコンテキストのプロパティにjavax.xml.ws.BindingProviderオブジェクトを通して指定します。 キー名:javax.xml.ws.BindingProvider.USERNAME_PROPERTY javax.xml.ws.BindingProvider.PASSWORD_PROPERTY |
詳細は、「Java EE運用ガイド」-「Webサービスクライアントアプリケーションの開発」-「HTTP関連のリクエストプロパティ設定」を参照してください。
接続のタイムアウトを指定する方法
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
接続のタイムアウトを指定する方法 | プログラム中で、スタブオブジェクトに対して以下のプロパティで指定します。 キー名:com.fujitsu.interstage.isws.client.connect.timeout | 接続のタイムアウトを指定する方法 | プログラム中で、リクエストコンテキストのプロパティに指定します。 キー名:com.sun.xml.ws.connect.timeout |
詳細は、「Java EE運用ガイド」-「Webサービスクライアントアプリケーションの開発」-「HTTP関連のリクエストプロパティ設定」を参照してください。
セション管理の利用を指定する方法
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
セション管理の利用を指定する方法 | プログラム中で、スタブオブジェクトに対して以下のプロパティで指定します。 キー名:javax.xml.rpc.session.maintain | セション管理の利用を指定する方法 | プログラム中で、リクエストコンテキストのプロパティにjavax.xml.ws.BindingProviderオブジェクトを通して指定します。 キー名:javax.xml.ws.BindingProvider.SESSION_MAINTAIN_PROPERTY |
WS-I Basic Profileでは、HTTP Cookieに依存することを推奨していません。そのため本機能の使用は推奨しません。
プロキシを経由した接続
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
プロキシを経由した接続 | プログラム中で、スタブオブジェクト、またはシステムプロパティに対して以下のプロパティで指定します。 キー名:http.proxyHost(ホスト名) http.proxyPort(ポート番号) http.nonProxyHosts(プロキシを経由せずに接続するホスト名) http.proxyUser(ユーザ名) http.proxyPassword(パスワード) | プロキシを経由した接続 | javaプロセスのシステムプロパティに指定します。 キー名:http.proxyHost(ホスト名) http.proxyPort(ポート番号) http.nonProxyHosts(プロキシを経由せずに接続するホスト名) http.proxyUser(ユーザ名) http.proxyPassword(パスワード) |
■比較(Webサービスクライアントログファイル)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
- | |
- | |
- |
Webサービスクライアントログファイルの指定
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
Webサービスクライアントログファイルの指定 | Webサービス設定ファイルに指定します。 com.fujitsu.interstage.isws.log.file.path | - | 指定できません。 |
Webサービスクライアントログファイルの最大サイズ
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
Webサービスクライアントログファイルの最大サイズ | Webサービス設定ファイルに指定します。 com.fujitsu.interstage.isws.log.file.maxfilesize | - | 指定できません。 |
Webサービスクライアントログファイルの最大世代数
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
Webサービスクライアントログファイルの最大世代数 | Webサービス設定ファイルに指定します。 com.fujitsu.interstage.isws.log.file.maxbackupindex | - | 指定できません。 |
■比較(SSL通信)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
Webサービスクライアントで使用するキーストアの設定 |
Webサービスクライアントで使用するSSL定義名
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
Webサービスクライアントで使用するSSL定義名 | Webサービス設定ファイルに指定します。 com.fujitsu.interstage.isws.client.ssl.configname | Webサービスクライアントで使用するキーストアの設定 | 【Webサービスクライアントがアプリケーションクライアントコンテナの場合】 VMARGS環境変数でキーストアの情報を設定します。 【WebサービスクライアントがIJserverクラスタに配備された場合】 JVMオプションでキーストアの情報を設定します。 |
キーストアの情報の詳細は、「Java EE運用ガイド」-「SSL」-「アプリケーションクライアントコンテナで利用するキーストアの設定」、および「キーストアの設定」を参照してください。
■比較(添付ファイル)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
添付ファイルの一時ファイル作成場所 | |
- | |
- | |
- |
添付ファイルの一時ファイル作成場所
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
添付ファイルの一時ファイル作成場所 | Webサービス設定ファイルに指定します。 com.fujitsu.interstage.isws.attachment.tmpdir | 添付ファイルの一時ファイル作成場所 | システムプロパティjava.io.tmpdirに設定されている格納先に作成されます。 |
添付ファイル受信時に一時ファイルを生成せずメモリのみで扱うサイズの上限
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
添付ファイル受信時に一時ファイルを生成せずメモリのみで扱うサイズの上限 | Webサービス設定ファイルに指定します。 com.fujitsu.interstage.isws.attachment.memory.cachesize | - | 指定できません。1MB以上の添付ファイルは内部的に一時ファイルを生成して処理されます。 |
レスポンス返却時の、Webサービスアプリケーションで受信した添付ファイルデータ削除(資源解放)
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
レスポンス返却時の、Webサービスアプリケーションで受信した添付ファイルデータ削除(資源解放) | Webサービス設定ファイルに指定します。 com.fujitsu.interstage.isws.attachment.tempfile.keepmode | - | 指定できません。一時ファイルは添付ファイルデータのオブジェクトがGCによって回収される際やJava VMの終了時に削除されます。 |
WSDLでtext/plainに指定された添付ファイルのデフォルト文字コード
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
WSDLでtext/plainに指定された添付ファイルのデフォルト文字コード | Webサービス設定ファイルに指定します。 com.fujitsu.interstage.isws.attachment.plaintext.charset | - | 指定できません。 |
■比較(アプリケーションの配備/配備解除のタイムアウト時間設定)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
- |
アプリケーションの配備/配備解除のタイムアウト時間
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
アプリケーションの配備/配備解除のタイムアウト時間 | Interstage JMXサービスが使用するjavaプロセスのシステムプロパティに設定します。 -Dcom.fujitsu.interstage.isws.deploy.wsdl.timeout=タイムアウト時間(単位:ミリ秒) | - | 指定できません。 |
■比較(JNDIを使用してServiceオブジェクトをlookupする方法)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
- |
JNDIを使用してServiceオブジェクトをlookupする方法
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
JNDIを使用してServiceオブジェクトをlookupする方法 | 以下の手順でWebサービスを呼び出します。
<例> InitialContext ic = new InitialContext (); //(1) StockQuoteProvider sqp = sqs.getStockQuoteProviderPort(); //(3) float price = sqp.getLastTradePrice(tickerID); //(4) | - | @javax.xml.ws.WebServiceRefを使用する方法に変更します。 <例> public class StockQuoteClient { @javax.xml.ws.WebServiceRef StockQuoteProviderService sqp; public static void main (String[] args) { StockQuoteProvider sqp = sqs.getStockQuoteProviderPort(); … } |
■比較(SOAPバインディングの指定)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
スタイル(style)・使用方法(use)の指定 |
スタイル(style)・使用方法(use)の指定
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
スタイル(style)・使用方法(use)の指定 | iswsgen wsdlコマンドで指定します。 -styleuse {DOCLITERALWRAPPED |RPCLITERAL |RPCENC} -y {DOCLITERALWRAPPED |RPCLITERAL |RPCENC} | スタイル(style)・使用方法(use)の指定 | @javax.jws.soap.SOAPBingingアノテーションで指定します。 Style:DOCUMNT|RPC Use :LITERAL |
Java EE機能では、RPC/ENCODEDの組み合わせは未サポートです。
■比較(out/inoutパラメタ)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
javax.xml.ws.Holder<T>クラスを使用 | |
javax.xml.ws.Holder<T>クラスを使用 | |
javax.xml.ws.Holder<T>クラスを使用 |
javax.xml.rpc.holders パッケージに提供されているクラス
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
javax.xml.rpc.holders パッケージに提供されているクラス | <例> StringHolder inoutParam = new StringHolder(); | javax.xml.ws.Holder<T>クラスを使用 | <例> Holder<String> sparam = new Holder<String>(); |
com.fujitsu.interstage.isws.apis.holdersパッケージに提供されているクラス
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
com.fujitsu.interstage.isws.apis.holdersパッケージに提供されているクラス | <例> URIHolder inoutParam = new URIHolder(); | javax.xml.ws.Holder<T>クラスを使用 | <例> Holder<URI> sparam = new Holder<URI>(); |
javax.xml.rpc.holders パッケージに提供されていないクラス
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
javax.xml.rpc.holders パッケージに提供されていないクラス | 固有のHolderクラスを用意して使用する。 | javax.xml.ws.Holder<T>クラスを使用 | <例> Holder<XXX> sparam = new Holder<XXX>(); |
■比較(マッピングに変更のあるデータ型)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
java.net.URI |
java.net.URI
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
java.net.URI | xsd:anyURI | java.net.URI | xsd:string |
■比較(データ型)
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
java.util.Collectionクラス |
配列型
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
配列型 | <例> String array[] = new String[2]; | java.util.Collectionクラス | <例> ArrayList<String> array = new ArrayList<String>(); |
配列そのままでも利用できますが、java.util.Collectionクラスに変更することを推奨します。
パラメタをnullや要素数を0とする場合は注意してください。詳細は、「Java EE運用ガイド」-「Webサービスの通信で利用できるデータ型」-「配列・コレクション型の注意事項」を参照してください。
■比較(添付ファイル型のXMLデータ型の指定)
swaref型
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
swaref型 | iswsgen wsdlコマンドで以下を指定します。 -attachmentsType swaref -t swaref javax.activation.DataHandlerクラスを使用します。 | swaref型 | DataHandlerクラスの宣言に@javax.xml.bind.annotation.XmlAttachmentRefアノテーションを指定します。 |
詳細は、「Java EE運用ガイド」-「Webサービスの通信で利用できるデータ型」-「添付ファイル型」を参照してください。
apache型
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
apache型 | iswsgen wsdlコマンドで以下を指定します。 -attachmentsType apache -t apache 以下のクラスが使用できます。 java.awt.Imageクラス javax.mail.internet.MimeMultipart javax.xml.transform.Source | - | apachesoap名前空間のXMLデータ型は使用できません。他のXMLデータ型に変更してください。詳細は、「Java EE運用ガイド」の「Webサービスの通信で利用できるデータ型」の「添付ファイル」を参照してください。 |