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

= バイナリ・データを渡すWebサービス・アプリケーション(パート1): 概要
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: バイナリ・データを渡すWebサービス・アプリケーション(パート1): 概要 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, バイナリ・データを渡すWebサービス・アプリケーション(パート1): 概要

このチュートリアルでは、ステートレス・セッションBeanとして実装するWebサービスを含むJava EE Webアプリケーションを作成します。また、4つのJPEGファイルを含むパッケージをWebアプリケーションに追加します。このWebサービスは、クライアントからアクセス可能な2つの操作を提供します。1つはイメージを個別に取得する操作、もう1つは4つのイメージすべてのセットをサムネイルとして取得する操作です。JPEGファイルをバイト配列に変換するプライベート・メソッド、およびそれらのバイト配列を ``Image`` オブジェクトに変換するプライベート・メソッドを追加します。Java EEではWebサービスもEJBであるため、これらのプライベート・メソッドを直接Webサービスに追加します。

Webサービスを作成した後、これをGlassFishサーバー3.1以降のインスタンスにデプロイします。NetBeans IDEの組込みWebサービス・テスト・ページを使用して、サンプルSOAPリクエスト・メッセージやレスポンス・メッセージを表示します。

デフォルトのJAX-WSサービス・インフラストラクチャでは、バイナリ・データがJPEGファイルとして解釈される必要があることをクライアントに通知できません。そのため、XMLスキーマ・ファイルとWSDLファイルのコピーを生成し、そのXMLスキーマを編集して、戻り要素として ``image/jpeg`` のコンテンツ・タイプを予想するようクライアントに通知します。また、カスタマイズしたWSDLおよびスキーマを使用するために、サービス・コードを変更します。

最後に、Swingコンポーネントから作成されたアルバムにイメージを表示するJavaクライアント・アプリケーションを作成します。

完全版のサービスとクライアント・アプリケーションは、link:https://netbeans.org/projects/samples/downloads/directory/Samples%252FWeb%2520Services%252FWeb%2520Service%2520Passing%2520Binary%2520Data%2520--%2520EE6[+NetBeansサンプル・カタログ+]からダウンロードできます。

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

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

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


=== チュートリアルに必要なソフトウェア

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

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

|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)+] |バージョン7または8 

|Java EE互換のWebサーバーまたはアプリケーション・サーバー |link:http://glassfish.java.net/[+GlassFish Server Open Source Edition 3.1以降+]
 

|このチュートリアルで使用される画像 |link:images/rose.jpg[+rose.jpg+]
link:images/sunflower.jpg[+sunflower.jpg+]
link:images/aster.jpg[+aster.jpg+]
link:images/honeysuckle.jpg[+honeysuckle.jpg+] 
|===

*注意: *GlassFishサーバーは、NetBeans IDEのJava EEダウンロード・バンドルとともにインストールできます。または、link:https://glassfish.java.net/download.html[+GlassFishサーバーのダウンロード・ページ+]にアクセスしてください。

*ヒント: *トラブルシューティングのために、link:https://netbeans.org/files/documents/4/2343/SoapWithAttachments.zip[+完了したサンプルをダウンロード+]してソースを調べることもできます(オプション)。

このチュートリアルの最後では、Webサービス経由でJPEGイメージを使用するJava Swingアプリケーションを実行し、次のような結果が表示されるようにします。

image::images/running-client.png[title="Webサービスから渡された花のイメージをすべて表示するJFrame"]


== 次の手順:

link:./flower_ws.html[+Webサービスの作成+]

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



== 関連項目

このチュートリアルを使用する前の背景情報については、次のリソースを参照してください。

* link:./jax-ws.html[+JAX-WS Webサービスについて+]
* link:../../docs/websvc/client.html[+Webサービス・クライアントの開発+]
* link:../javaee/javaee-gettingstarted.html[+Java EEアプリケーションの開始+]
* link:./wsit.html[+高度なWebサービス相互運用性+]

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

