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

= Передача двоичных данных с помощью приложения веб-службы, часть 1: обзор
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Передача двоичных данных с помощью приложения веб-службы, часть 1: обзор - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Передача двоичных данных с помощью приложения веб-службы, часть 1: обзор

В рамках данного практического руководства будет создано веб-приложение Java EE, содержащее веб-службу, которая реализуется в качестве компонента сеанса без сохранения состояния. Кроме того, к веб-приложению будет необходимо добавить пакет с четырьмя файлами JPEG. У веб-службы есть две операции, доступные для клиентов: получение отдельных изображений и получение набора из четырех изображений в форме эскизов. Следует добавить частные методы, преобразующие файлы JPEG в массив байтов, а затем преобразовать массивы байтов в  ``изображения`` . В Java EE частные методы размещаются непосредственно в веб-службе, потому что веб-служба также является компонентом EJB.

После создания веб-службы будет выполнено ее развертывание на экземпляре сервера GlassFish 3.1 или более поздней версии. Встроенное средство тестирование веб-служб IDE NetBeans используется для просмотра образцов сообщений запросов и откликов SOAP.

Инфраструктура службы JAX-WS по умолчанию не позволяет информировать клиентов о необходимости выполнить интерпретацию двоичных данных как файлов JPEG. Поэтому необходимо создать копию файлов схемы XML и WSDL и изменить схему XML так, чтобы клиент мог быть проинформирован об ожидаемом типе содержимого  ``image/jpeg``  для возвращаемого элемента. Чтобы использовать настроенные WSDL и схему, следует также изменить код службы.

Наконец, необходимо создать клиентское приложение Java, отображающее изображения в альбоме, созданном с помощью компонентов Swing.

Полную версию службы и клиентских приложений можно загрузить из link:https://netbeans.org/projects/samples/downloads/directory/Samples%252FWeb%2520Services%252FWeb%2520Service%2520Passing%2520Binary%2520Data%2520--%2520EE6[+NetBeans Samples Catalog+].

*Уроки, представленные в этом учебном курсе*

image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]

1. Обзор
2. link:./flower_ws.html[+ Создание веб-службы+]
3. link:./flower-code-ws.html[+ Написание кода и тестирование веб-службы+]
4. link:./flower_wsdl_schema.html[+ Изменение файлов схемы и WSDL для передачи двоичных данных+]
5. link:./flower_swing.html[+ Создание клиента Swing+]


=== Программное обеспечение, требуемое для работы с данным учебным курсом.

*Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.*

|===
|Программное обеспечение или материал |Требуемая версия 

|link:https://netbeans.org/downloads/index.html[+IDE NetBeans+] |Пакетная загрузка Java EE 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Комплект для разработчика на языке Java (JDK)+] |версия 7 или 8 

|Веб-сервер или сервер приложений, совместимый с Java EE |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 можно установить с комплектом загрузки Java EE IDE NetBeans. Также можно воспользоваться link:https://glassfish.java.net/download.html[+страницей загрузок сервера GlassFish+].

*Рекомендация.*Дополнительно, в целях поиска и устранения ошибок, можно link:https://netbeans.org/files/documents/4/2343/SoapWithAttachments.zip[+загрузить готовый пример+] и изучить исходный код.

По завершении работы с этим учебным курсом должно получиться работающее приложение на Java для Swing, использующее изображения JPEG через веб-службу, со следующим результатом.

image::images/running-client.png[title="В JFrame отображаются все изображения цветов, переданные из веб-службы"]


== Что дальше?

link:./flower_ws.html[+ Создание веб-службы+]

link:/about/contact_form.html?to=3&subject=Feedback:%20Flower%20Overview%20EE6[+Отправить отзыв по этому учебному курсу+]



== Дополнительные сведения

Для получения базовой информации перед переходом к этому учебному курсу ознакомьтесь со следующими материалами:

* link:./jax-ws.html[+Начало работы с веб-службами JAX-WS+]
* link:../../docs/websvc/client.html[+Разработка клиентов веб-служб +]
* link:../javaee/javaee-gettingstarted.html[+Начало работы с приложениями Java EE+]
* link:./wsit.html[+Расширенные возможности взаимодействия веб-служб+]

Для отправки комментариев и предложений, получения поддержки и новостей о последних разработках, связанных с Java EE IDE NetBeans link:../../../community/lists/top.html[+присоединяйтесь к списку рассылки nbj2ee@netbeans.org+].

