// 
//     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.
//

= エンドツーエンドのバイナリSOAPアタッチメント2: Webサービスの作成
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: エンドツーエンドのバイナリSOAPアタッチメント2: Webサービスの作成 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, エンドツーエンドのバイナリSOAPアタッチメント2: Webサービスの作成

このレッスンの目標は、Webサービスを含むWebアプリケーションを作成することです。Webサービスは、ステートレス・セッションBeanとして実装します。

Webサービスの完全版サンプルは、link:https://netbeans.org/projects/samples/downloads/download/Samples%252FWeb%2520Services%252FWeb%2520Service%2520Passing%2520Binary%2520Data%2520--%2520EE6%252FFlowerAlbumService.zip[+NetBeansサンプル・カタログ+]からダウンロードできます。

*このチュートリアルのレッスン*

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

1. link:./flower_overview.html[+概要+]
2. => Webサービスの作成
3. link:flower-code-ws.html[+Webサービスのコーディングおよびテスト+]
4. link:./flower_wsdl_schema.html[+バイナリ・データを渡すためのスキーマとWSDLファイルの変更+]
5. link:./flower_swing.html[+Swingクライアントの作成+]


[start=1]
1. <<create-web-app,Webアプリケーションの作成>>
2. <<add-ws,Webサービスの追加>>


[[create-web-app]]
== Webアプリケーションの作成

この項では、Java EE Webアプリケーションを作成します。このアプリケーションに、Webサービスがバイナリ・データとして渡すイメージを追加します。

*Webアプリケーションを作成するには:*

1. 「ファイル」>「新規プロジェクト」(LinuxおよびWindowsでは[Ctrl]-[Shift]-[N]、MacOSでは[⌘]-[Shift]-[N])を選択します。新規プロジェクト・ウィザードが表示されます。「Java Web」カテゴリから「Webアプリケーション」を選択し、「次」をクリックします。名前と場所ページが開きます。
2. 「プロジェクト名」フィールドに「 ``FlowerAlbumService`` 」と入力します。このプロジェクトの場所を選択します。その他のオプションについては、デフォルトの設定を保持し、「次」をクリックします。サーバーと設定ページが開きます。
3. 「GlassFish Server」を選択し、「Java EEバージョン」に「Java EE 6 Web」または「Java EE 7 Web」を選択します。
4. 「終了」をクリックします。 ``FlowerAlbumService`` プロジェクトが作成され、「プロジェクト」ウィンドウに表示されます。
5. 「ソース・パッケージ」ノードを右クリックし、「新規」>「Javaパッケージ」を選択します。

または、「新規」>「その他」を選択し、新規ファイル・ウィザードの「Java」カテゴリで「Javaパッケージ」を選択します。


[start=6]
. パッケージ名を ``org.flower.resources`` にします。「終了」をクリックします。
image::images/new-package.png[]

[start=7]
. 次のイメージを ``org.flower.resources`` にコピーします。
* link:images/rose.jpg[+rose.jpg+]
* link:images/sunflower.jpg[+sunflower.jpg+]
* link:images/aster.jpg[+aster.jpg+]
* link:images/honeysuckle.jpg[+honeysuckle.jpg+]

プロジェクトの「ソース・パッケージ」に、 ``org.flower.resources`` パッケージが追加されています。他の内容は追加されていません。

image::images/project-w-resources.png[]


[[add-ws]]
== Webサービスの追加

この項では、Webアプリケーション内にWebサービスを作成します。サービスは、ステートレス・セッションBeanとして作成します。次のWeb操作をサービスに追加します。

* 花の名前を取得し、その名前に関連付けられた ``Image`` を取得する操作。
* すべての花のイメージのサムネイルを取得し、それらのサムネイルを ``List`` として返す操作。

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

1. 「プロジェクト」ウィンドウで、「 ``FlowerAlbumService`` 」プロジェクト・ノードを右クリックし、「新規」>「Webサービス」を選択します。または、「新規」>「その他」を選択し、新規ファイル・ウィザードの「Webサービス」の下にある「Webサービス」を選択します。新規Webサービス・ウィザードが開きます。
2. 新規Webサービス・ウィザードで、「Webサービス名」に「 ``FlowerService`` 」、「パッケージ名」に「 ``org.flower.service`` 」と入力します。「Webサービスを新規に作成」を選択します。「ステートレス・セッションBeanとしてWebサービスを実装」を選択します。「終了」をクリックします。
image::images/new-service.png[]

Webサービスが、「プロジェクト」ウィンドウのこのプロジェクトのノードに表示されます。「ソース・パッケージ」ディレクトリには、「service」パッケージと「resources」パッケージが含まれています。

image::images/project-w-service-and-resources.png[]

[start=3]
. エディタで ``FlowerService.java`` を開きます。「デザイン」ビューに切り替えます。操作およびサービス品質の要素をWebサービスに追加できるフォームが表示されます。
image::images/flower-service-empty-design.png[]

[start=4]
. 「操作の追加」をクリックします。「操作の追加」ウィザードが開きます。

[start=5]
. 操作に ``getFlower`` という名前を付けます。「戻り値の型」フィールドに、「 ``java.awt.Image`` 」と入力するか、参照して入力します。

[start=6]
. 「パラメータ」タブで、「追加」をクリックします。このパラメータに ``name`` という名前を付け、デフォルトの ``java.lang.String`` 型を受け入れます。
image::images/add-getflower-param.png[]

[start=7]
. 「例外」タブを開きます。「 ``IOException`` 」を追加します。
image::images/io-exception.png[]

[start=8]
. 「OK」をクリックしてウィザードを閉じます。次に、「操作の追加」を再度クリックして、次のプロパティを使用して操作を追加します。
* *名前:* getThumbnails
* *戻り値の型:* java.util.List
* *例外: * IOException

「デザイン」ビューに、 ``getFlower`` 操作と ``getThumbnails`` 操作が表示されます。両方の操作で一覧表示に切り替えると、操作のパラメータをすべて確認できます。

image::images/flower-service-full-design.png[]


==  


== 次の手順:

link:./flower-code-ws.html[+Webサービスのコーディングおよびテスト+]

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


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

