// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= JAX-WS Webサービスについて
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: JAX-WS Webサービスについて - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, JAX-WS Webサービスについて

link:http://www.jcp.org/en/jsr/detail?id=224[+Java API for XML Web Services (JAX-WS)、JSR 224+]は、Java EEプラットフォームの重要な部分です。JAX-RPC (Java API for XML-based RPC 1.1)の追加リリースであるJAX-WSは、Javaテクノロジを使用したWebサービスの開発タスクを簡素化します。SOAP 1.1、SOAP 1.2、XMLなど複数のプロトコルのサポート、およびHTTP以外のプロトコルもサポートできる機能を備えることにより、JAX-RPC 1.1の問題の一部に対処しています。JAX-WSはデータ・バインディングにJAXB 2.0を使用し、生成したサービス・エンドポイント・インタフェースを制御するためのカスタマイズをサポートしています。注釈がサポートされているため、JAX-WSではWebサービス開発が簡素化され、実行時のJARファイルのサイズが小さくなっています。

このドキュメントでは、IDEを使用したJAX-WS Webサービス開発の基本を示します。Webサービスを作成した後、ネットワーク経由でWebサービスを使用する(Webサービスを「消費する」とも呼ばれる)、3つの異なるWebサービス・クライアントを記述します。3つのクライアントとは、Java SEアプリケーションのJavaクラス、サーブレット、およびWebアプリケーションのJSPページです。クライアントに焦点を当てた、さらに詳細なチュートリアルは、link:./client.html[+JAX-WS Webサービス・クライアントの開発+]です。


image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]

* Webサービスの使用

*このチュートリアルに従うには、次のソフトウェアとリソースが必要です。*

|===
|ソフトウェアまたはリソース |必須バージョン 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |Java EEダウンロード・バンドル 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java Development Kit (JDK)+] |JDK 7またはJDK 8
 

|Java EE互換のWebサーバーまたはアプリケーション・サーバー |GlassFish Server Open Source Edition 
Oracle WebLogic Server 
|===

*注意: *GlassFishサーバーは、NetBeans IDEのJava EEディストリビューションとともにインストールできます。または、link:https://glassfish.java.net/download.html[+GlassFishサーバーのダウンロード・ページ+]かlink:http://tomcat.apache.org/download-60.cgi[+Apache Tomcatのダウンロード・ページ+]からダウンロードすることもできます。

*重要: *Java EEプロジェクトには、GlassFish ServerまたはOracle WebLogic Server 12cが必要です。

バンドルされているTomcat Webサーバーは、Java EEに完全に準拠したWebサーバーではありません。ただし、一部のJava EE機能をサポートするようにTomcat 7.x Webサーバーを構成できます。TomcatにJava EEのサポートを追加する方法の詳細は、link:http://openejb.apache.org/[+Apache TomEE project+]を参照してください。


==   Webサービスの作成

この課題の目標は、使用予定のデプロイメント・コンテナに適したプロジェクトを作成することです。プロジェクトが完成した後、その中にWebサービスを作成します。


=== コンテナの選択

WebサービスはWebコンテナまたはEJBコンテナにデプロイできます。これは、選択する実装によって変わります。Java EEアプリケーションを作成している場合、EJBを直接Webアプリケーションに配置できるため、どのような場合でもWebコンテナを使用します。たとえばTomcat Webサーバーにデプロイする予定の場合、Tomcat WebサーバーにはWebコンテナしかないため、EJBモジュールではなくWebアプリケーションを作成します。

1. 「ファイル」>「新規プロジェクト」(LinuxおよびWindowsでは[Ctrl]-[Shift]-[N]、MacOSでは[⌘]-[Shift]-[N])を選択します。「Java Web」カテゴリから「Webアプリケーション」を選択するか、「Java EE」カテゴリから「EJBモジュール」を選択します。

JAX-WS WebサービスをMavenプロジェクト内で作成できます。「ファイル」>「新規プロジェクト」(LinuxおよびWindowsの場合は[Ctrl]-[Shift]-[N]、MacOSの場合は[⌘]-[Shift]-[N])を選択し、「Maven」カテゴリから「Maven Webアプリケーション」または「Maven EJBモジュール」を選択します。NetBeansでMavenをまだ使用したことがない場合は、link:http://wiki.netbeans.org/MavenBestPractices[+Mavenのベスト・プラクティス+]を参照してください。


[start=2]
. プロジェクトに ``CalculatorWSApplication`` という名前を付けます。プロジェクトの場所を選択します。「次」をクリックします。

[start=3]
. サーバーとJava EEバージョンを選択し、「終了」をクリックします。

Oracle WebLogicサーバーを使用するには、link:../web/jsf-jpa-weblogic.html#01[+サーバーをIDEに登録します+]。また、WebLogicサーバーを使用する場合は、link:../javaee/weblogic-javaee-m1-screencast.html[+Oracle WebLogicへのWebアプリケーションのデプロイ+]のスクリーンキャストを視聴してください。


=== JavaクラスからのWebサービスの作成

1. 「 ``CalculatorWSApplication`` 」ノードを右クリックし、「新規」>「Webサービス」を選択します。
2. Webサービスに ``CalculatorWS`` という名前を付け、「パッケージ」に「 ``org.me.calculator`` 」と入力します。「Webサービスを新規に作成」を選択したままにします。
3. GlassFishまたはWebLogicでJava EEプロジェクトを作成する場合は、「ステートレス・セッションBeanとしてWebサービスを実装」を選択します。 
image::images/generate-ws-ee6.png[]

[start=4]
. 「終了」をクリックします。「プロジェクト」ウィンドウに新しいWebサービスの構造が表示され、エディタ領域にソース・コードが表示されます。


==   Webサービスへの操作の追加

この課題の目標は、クライアントから受け取った2つの数字を追加する操作をWebサービスに追加することです。NetBeans IDEは、操作をWebサービスに追加するダイアログを提供します。このダイアログは、Webサービス・ビジュアル・デザイナまたはWebサービス・コンテキスト・メニューのいずれかから開くことができます。

*警告:* ビジュアル・デザイナはMavenプロジェクトでは使用できません。

*Webサービスに操作を追加するには:*

1. 次のいずれか:
* エディタの「デザイン」ビューに変更します。
image::images/design-view.png[]

または:

* 「プロジェクト」ウィンドウからWebサービスのノードを見つけます。そのノードを右クリックします。コンテキスト・メニューが開きます。
image::images/add-op-cx-menu-item.png[]

[start=2]
. ビジュアル・デザイナまたはコンテキスト・メニューのいずれかで、「操作の追加」をクリックします。「操作の追加」ダイアログが開きます。

[start=3]
. 「操作の追加」ダイアログ・ボックスの上の部分で、「名前」に「 ``add`` 」、「戻り値の型」ドロップダウン・リストに「 ``int`` 」と入力します。

[start=4]
. 「操作の追加」ダイアログ・ボックスの下の部分で、「追加」をクリックして ``int`` 型の ``i`` という名前のパラメータを作成します。

[start=5]
. 再度「追加」をクリックし、 ``int`` 型の ``j`` というパラメータを作成します。

次のようになります。


image::images/jaxws-60-add-operation.png[]

[start=6]
. 「操作の追加」ダイアログ・ボックスの最下部で「OK」をクリックします。エディタに戻ります。

[start=7]
. ソース・コードの ``hello()`` メソッドを除去するか、ビジュアル・デザイナで ``hello`` 操作を選択して「操作を除去」をクリックすることによって、デフォルトの ``hello`` 操作を除去します。

ビジュアル・デザイナでは次のように表示されます。


image::images/design-view-with-op.png[title="追加した操作が表示されたWebサービスのビジュアル・デザイナ"]

[start=8]
. 「ソース」をクリックし、前述の手順で作成したコードを表示します。これは、サービスをJava EEステートレスBeanとして作成したかどうかによって異なります。次のスクリーンショットの違いがわかりますか。(ステートレスBeanとして実装されていないJava EE 6サービスやJava EE 7サービスはJava EE 5サービスに似ています。)
image::images/jaxws-60-source.png[] image::images/stateless-ejb-code1.png[]

*注意:*NetBeans IDE 7.3およおび7.4では、生成された ``@WebService`` 注釈に、次のサービス名が明示的に指定されていることがわかります。
 ``@WebService(serviceName = "CalculatorWS")`` 。


[start=9]
. エディタで、スケルトンの ``add`` 操作を次のように拡張します(変更部分は太字で表示)。

[source,java]
----

    @WebMethod
    public int add(@WebParam(name = "i") int i, @WebParam(name = "j") int j) {
        *int k = i + j;*
        return *k*;
      }
----

前出のコードからわかるように、このWebサービスは単に2つの数字を受け取り、合計を返します。次の項では、IDEを使用してWebサービスをテストします。


== Webサービスのデプロイおよびテスト

Webサービスをサーバーにデプロイした後、サーバーにテスト・クライアントがある場合はIDEを使用してサーバーのテスト・クライアントを開くことができます。GlassFishサーバーとWebLogicサーバーにはテスト・クライアントがあります。

Tomcat Webサーバーを使用している場合は、テスト・クライアントがありません。プロジェクトを実行するだけで、Tomcat Webサービス・ページが開くかどうかを確認できます。この場合は、プロジェクトを実行する前に、Webサービスをアプリケーションのエントリ・ポイントにする必要があります。Webサービスをアプリケーションのエントリ・ポイントにするには、「CalculatorWSApplication」プロジェクト・ノードを右クリックし、「プロパティ」を選択します。「実行」プロパティを開き、「相対URL」フィールドに「 ``/CalculatorWS`` 」と入力します。「OK」をクリックします。プロジェクトを実行するには、プロジェクト・ノードを再度右クリックし、「実行」を選択します。

*GlassFishまたはWebLogicサーバーへ正常にデプロイメントされていることをテストする手順:*

1. プロジェクトを右クリックし、「デプロイ」を選択します。アプリケーション・サーバーが開始され、アプリケーションがビルドされて、サーバーにデプロイされます。これらの操作の進行状況は、「出力」ビューの「CalculatorWSApplication (run-deploy)」および「GlassFish Server 3」タブまたは「Tomcat」タブで確認できます。
2. IDEの「プロジェクト」タブで、CalculatorWSApplicationプロジェクトの「Webサービス」ノードを展開します。「CalculatorWS」ノードを右クリックし、「Webサービスをテスト」を選択します。
image::images/jax-ws-testws.png[]

GlassFishサーバーにWebアプリケーションをデプロイした場合、テスター・ページがブラウザで開きます。Tomcat Webサーバーの場合およびEJBモジュールのデプロイメントの場合、状況は異なります。

* GlassFishサーバーにデプロイした場合、次のようにテスター・ページに2つの数字を入力します。
image::images/jax-ws-tester.png[]

2つの数字の合計が次のように表示されます。


image::images/jax-ws-tester2.png[]


== [[サンプル]] 

「ファイル」>「新規プロジェクト」(LinuxおよびWindowsの場合は[Ctrl]-[Shift]-[N]、MacOSの場合は[⌘]-[Shift]-[N])を選択し、「サンプル」>「Webサービス」>「カリキュレータ(EE 6)」を選択することによって、Java EEステートレスBeanバージョンの完全なカリキュレータ・サービスを開くことができます。

Maven CalculatorサービスとMaven Calculatorクライアントは、「サンプル」>「Maven」から使用できます。


== Webサービスの使用

作成したWebサービスのデプロイが完了したので、次はWebサービスの ``add`` メソッドを使用するクライアントを作成する必要があります。ここでは、Java SEアプリケーションのJavaクラス、サーブレット、およびWebアプリケーションのJSPページという3つのクライアントを作成します。

*注意:* クライアントに焦点を当てた、さらに詳細なチュートリアルは、link:../../../kb/docs/websvc/client.html[+JAX-WS Webサービス・クライアントの開発+]です。


=== クライアント1: Java SEアプリケーションのJavaクラス

この項では、標準のJavaアプリケーションを作成します。アプリケーションの作成に使用するウィザードでJavaクラスも作成できます。続いてIDEのツールで、クライアントを作成し、このチュートリアルの最初に作成したWebサービスを使用します。

1. 「ファイル」>「新規プロジェクト」(LinuxおよびWindowsでは[Ctrl]-[Shift]-[N]、MacOSでは[⌘]-[Shift]-[N])を選択します。「Java」カテゴリから「Javaアプリケーション」を選択します。プロジェクトに ``CalculatorWS_Client_Application`` という名前を付けます。「メイン・クラスの作成」を選択状態にし、その他のデフォルト設定はそのまま受け入れます。「終了」をクリックします。
2. 「 ``CalculatorWS_Client_Application`` 」ノードを右クリックし、「新規」>「Webサービス・クライアント」を選択します。新規Webサービス・クライアント・ウィザードが開きます。
3. プロジェクトをWSDLソースとして選択します。「参照」をクリックします。CalculatorWSApplicationプロジェクトのCalculatorWS Webサービスを参照します。Webサービスを選択した後、「OK」をクリックします。
image::images/browse-ws.png[]

[start=4]
. パッケージ名を選択しないでください。このフィールドは空のままにします。
image::images/javaclient-pkg.png[]

[start=5]
. その他の設定はデフォルトのままにし、「終了」をクリックします。

「プロジェクト」ウィンドウに新しいWebサービス・クライアントが表示され、作成した ``add`` メソッドのノードが追加されています。


image::images/ws-ref-in-client-project.png[]

[start=6]
. メイン・クラスをダブルクリックしてソース・エディタで開きます。 ``main()`` メソッドの下に ``add`` ノードをドラッグします。
image::images/dnd-add.png[]

次のようになります。


[source,java]
----

public static void main(String[] args) {
    // TODO code application logic here
}
private static int add(int i, int j) {
    org.me.calculator.CalculatorWS_Service service = new org.me.calculator.CalculatorWS_Service();
    org.me.calculator.CalculatorWS port = service.getCalculatorWSPort();
    return port.add(i, j);
}
----

*注意:* 別の方法として、 ``add`` ノードをドラッグするかわりに、エディタ上で右クリックして「コードを挿入」>「Webサービス操作をコール」を選択することもできます。


[start=7]
.  ``main()`` メソッド本文で、TODOコメントを、 ``i`` および ``j`` の値を初期化し、 ``add()`` をコールし、結果を出力するコードに置き換えます。

[source,java]
----

public static void main(String[] args) {int i = 3;int j = 4;int result = add(i, j);System.out.println("Result = " + result);
}
----

[start=8]
.  ``main()`` メソッドのコードを、例外を出力するtry/catchブロックで囲みます。

[source,java]
----

public static void main(String[] args) {try {int i = 3;int j = 4;int result = add(i, j);System.out.println("Result = " + result);} catch (Exception ex) {System.out.println("Exception: " + ex);}
}
----

[start=9]
. プロジェクトのノードを右クリックし、「実行」を選択します。

「出力」ウィンドウで次のような合計が表示されます。


[source,java]
----

    compile:
    run:
    Result = 7
      BUILD SUCCESSFUL (total time: 1 second)
----


=== クライアント2: Webアプリケーションのサーブレット

この項では、新しいWebアプリケーションを作成し、続いてサーブレットを作成します。次にサーブレットを使用して、このチュートリアルの最初で作成したWebサービスを使用します。

1. 「ファイル」>「新規プロジェクト」(LinuxおよびWindowsでは[Ctrl]-[Shift]-[N]、MacOSでは[⌘]-[Shift]-[N])を選択します。「Java Web」カテゴリから「Webアプリケーション」を選択します。プロジェクトに ``CalculatorWSServletClient`` という名前を付けます。「次」をクリックし、「終了」をクリックします。
2. 「 ``CalculatorWSServletClient`` 」ノードを右クリックし、「新規」>「Webサービス・クライアント」を選択します。

新規Webサービス・クライアント・ウィザードが開きます。


[start=3]
. WSDLソースとしてプロジェクトを選択し、「参照」をクリックして「Webサービスを参照」ダイアログ・ボックスを開きます。

[start=4]
. CalculatorWSApplicationプロジェクトでCalculatorWS Webサービスを選択します。「OK」をクリックして、「Webサービスを参照」ダイアログ・ボックスを閉じます。
image::images/browse-ws.png[]

[start=5]
. 新規Webサービス・クライアント・ウィザードでパッケージ名が空白であることを確認し、他の設定はデフォルト値のままにします。「終了」をクリックします。

先ほどこのチュートリアルで作成した ``add`` 操作も含め、「プロジェクト」ウィンドウの「Webサービス参照」ノードに新しく作成したクライアントの構造が次のように表示されます。


[start=6]
. 「 ``CalculatorWSServletClient`` 」プロジェクト・ノードを右クリックし、「新規」>「サーブレット」を選択します。サーブレットに ``ClientServlet`` と名前を付け、 ``org.me.calculator.client`` というパッケージに保存します。「終了」をクリックします。

[start=7]
. サーブレットをアプリケーションのエントリ・ポイントにするには、「CalculatorWSServletClient」プロジェクト・ノードを右クリックし、「プロパティ」を選択します。「実行」プロパティを開き、「相対URL」フィールドに「 ``/ClientServlet`` 」と入力します。「OK」をクリックします。

[start=8]
.  ``ClientServlet.java`` のエラー・アイコンがある場合、プロジェクト・ノードを右クリックし、「消去してビルド」を選択します。

[start=9]
.  ``processRequest()`` メソッドで、この行の後に空白行をいくつか追加します。

[source,xml]
----

    out.println("<h1>Servlet ClientServlet at " + request.getContextPath () + "</h1>");
----

[start=10]
. ソース・エディタで、 ``add`` 操作を ``ClientServlet`` クラスの本文の任意の場所にドラッグします。 ``add()`` メソッドがクラス・コードの末尾に表示されます。

*注意:* 別の方法として、 ``add`` ノードをドラッグするかわりに、エディタ上で右クリックして「コードを挿入」>「Webサービス操作をコール」を選択することもできます。


[source,java]
----

private int add(int i, int j) {org.me.calculator.CalculatorWS port = service.getCalculatorWSPort();return port.add(i, j);
}
----

[start=11]
.  ``i`` および ``j`` の値を初期化し、 ``add()`` をコールし、結果を出力するコードを追加します。追加されたコードは*太字*で示されています。

[source,xml]
----

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet ClientServlet</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet ClientServlet at " + request.getContextPath () + "</h1>");

    *    int i = 3;
int j = 4;
int result = add(i, j);
out.println("Result = " + result);*

        out.println("</body>");
        out.println("</html>");
        
    } finally {            out.close();}}
----

[start=12]
. 追加されたコードを、例外を出力するtry/catchブロックで囲みます。

[source,xml]
----

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet ClientServlet</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet ClientServlet at " + request.getContextPath () + "</h1>");
        *try {*
            int i = 3;int j = 4;int result = add(i, j);out.println("Result = " + result);
        *} catch (Exception ex) {
            out.println("Exception: " + ex);
        }*
        out.println("</body>");
        out.println("</html>");
        
    } finally {            out.close();}}
----

[start=13]
. プロジェクトのノードを右クリックし、「実行」を選択します。

サーバーが起動し、アプリケーションがビルドおよびデプロイされ、ブラウザが開いて次のように計算結果を表示します。
image::images/jaxws-60-webclient.png[]


=== クライアント3: WebアプリケーションのJSPページ

この項では、新しいWebアプリケーションを作成した後、Webアプリケーション・ウィザードで作成したデフォルトのJSPページでWebサービスを使用します。

*注意:* JSP Webアプリケーション・クライアントをOracle WebLogic上で実行する場合は、link:../web/jsf-jpa-weblogic.html[+WebLogicでのJava Server Faces 2.0アプリケーションの実行+]を参照してください。

1. 「ファイル」>「新規プロジェクト」(LinuxおよびWindowsでは[Ctrl]-[Shift]-[N]、MacOSでは[⌘]-[Shift]-[N])を選択します。「Java Web」カテゴリから「Webアプリケーション」を選択します。プロジェクトに ``CalculatorWSJSPClient`` という名前を付けます。「次」をクリックし、「終了」をクリックします。
2. プロジェクト・ノードの下でWeb Pagesノードを展開して、 ``index.html`` を削除します。
3.  ``Web Pages`` ノードを右クリックして、ポップアップ・メニューで「新規」>「JSP」を選択します。

ポップアップ・メニューに「JSP」がない場合は、「新規」>「その他」を選択し、新規ファイル・ウィザードの「Web」カテゴリで「JSP」を選択します。


[start=4]
. 新規ファイル・ウィザードでJSPファイルの名前に*index*と入力します。「終了」をクリックします。

[start=5]
. 「 ``CalculatorWSJSPClient`` 」ノードを右クリックし、「新規」>「Webサービス・クライアント」を選択します。

[start=6]
. プロジェクトをWSDLソースとして選択します。「参照」をクリックします。CalculatorWSApplicationプロジェクトのCalculatorWS Webサービスを参照します。Webサービスを選択した後、「OK」をクリックします。
image::images/browse-ws.png[]

[start=7]
. パッケージ名を選択しないでください。このフィールドは空のままにします。

[start=8]
. その他の設定はデフォルトのままにし、「終了」をクリックします。

次のように、「プロジェクト」ウィンドウに新しいWebサービス・クライアントが表示されます。

image::images/ws-ref-in-jsp-client.png[]

[start=9]
. 「Webサービス参照」ノードで、Webサービスを示すノードを展開します。ここで、クライアントから呼び出す ``add`` 操作が表示されます。

[start=10]
.  ``add`` 操作をクライアントの ``index.jsp`` ページにドラッグし、H1タグの下にドロップします。次のように、サービスの操作を呼び出すコードが ``index.jsp`` ページに生成されます。

[source,java]
----

<%
try {
    org.me.calculator.CalculatorWSService service = new org.me.calculator.CalculatorWSService();
    org.me.calculator.CalculatorWS port = service.getCalculatorWSPort();
     // TODO initialize WS operation arguments here
    int i = 0;
    int j = 0;
    // TODO process result here
    int result = port.add(i, j);
    out.println("Result = "+result);
} catch (Exception ex) {
    // TODO handle custom exceptions here
}
%>
----

 ``i`` および ``j`` の値を0から3や4などの整数に変更します。catchブロック内のコメントアウトされたTODO行を ``out.println("exception" +ex);`` に置き換えます。


[start=11]
. プロジェクトのノードを右クリックし、「実行」を選択します。

サーバーが起動していない場合は起動します。アプリケーションがビルドおよびデプロイされ、ブラウザが開き、計算結果が表示されます。

image::images/jax-ws-project-jsp-result.png[]


link:/about/contact_form.html?to=3&subject=Feedback:%20JAX-WS%20Services%20in%20NetBeans%20IDE[+このチュートリアルに関するご意見をお寄せください+]



== 関連項目

NetBeans IDEを使用したJava EEアプリケーションの開発方法の詳細は、次のリソースを参照してください。

* link:./client.html[+JAX-WS Webサービス・クライアントの開発+]
* link:./rest.html[+RESTful Webサービスについて+]
* link:./wsit.html[+高度なWebサービス相互運用性+]
* link:../../../kb/trails/web.html[+Webサービスの学習+]

link:../../../community/lists/top.html[+nbj2ee@netbeans.orgメーリング・リスト+]に登録することによって、NetBeans IDE Java EE開発機能に関するご意見やご提案を送信したり、サポートを受けたり、最新の開発情報を入手したりできます。

