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

= Aplicação de Web Service Passando Dados Binários, parte 1: Visão Geral
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Aplicação de Web Service Passando Dados Binários, parte 1: Visão Geral - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Aplicação de Web Service Passando Dados Binários, parte 1: Visão Geral

Neste tutorial, você criará uma aplicação da Web EE que contém um Web service implementado como um bean de sessão sem estado. Você também adicionará um pacote com quatro arquivos JPEG à aplicação Web. O Web service tem duas operações acessíveis pelos clientes, para obter imagens individuais e para obter um conjunto de todas as quatro imagens como miniaturas. Adicione métodos privados que convertem os arquivos JPEG em arrays de bytes e que convertem esses arrays de bytes em objetos  ``Imagem`` . No Java EE5 você coloca esses métodos privados diretamente no Web service, pois o Web service também é um EJB.

Após criar o web service, implante-o em uma instância do GlassFish server 3.1 ou superior. Utilize o testador do Web service integrado do NetBeans IDE para exibir a solicitação SOAP de amostra e responder mensagens.

A infraestrutura do serviço JAX-WS default não pode informar aos clientes que os dados binários precisam ser interpretados como arquivos JPEG. Portanto, você gera uma cópia do Esquema XML e dos arquivos WSDL e edita o esquema XML para informar a qualquer cliente para esperar o tipo de conteúdo  ``image/jpeg``  para o elemento de retorno. Você também irá altera o código de serviço para utilizar o Esquema e o WSDL personalizados.

Por fim, você criará uma aplicação cliente Java que exibirá as imagens em um álbum criado com base em componentes Swing.

É possível fazer download de uma versão completa de aplicações clientes e serviços no link:https://netbeans.org/projects/samples/downloads/directory/Samples%252FWeb%2520Services%252FWeb%2520Service%2520Passing%2520Binary%2520Data%2520--%2520EE6[+Catálogo de Amostras do NetBeans+].

*Lições Deste Tutorial*

image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0"]

1. => Visão Geral
2. link:./flower_ws.html[+ Criando o Web Service+]
3. link:./flower-code-ws.html[+ Codificando e Testando o Web Service+]
4. link:./flower_wsdl_schema.html[+ Modificando o Esquema e os Arquivos WSDL para Passar Dados Binários+]
5. link:./flower_swing.html[+ Criando o Cliente Swing+]


== Software Necessário para o Tutorial

*Para seguir este tutorial, são necessários os recursos e o software a seguir.*

|===
|Software ou Recurso |Versão Necessária 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |Pacote de download do Java EE 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+JDK (Java Development Kit)+] |versão 7 ou 8 

|Servidor de aplicações ou Web compatível com Java EE |link:http://glassfish.java.net/[+GlassFish Server Open Source Edition 3.1 ou superior+]
 

|Imagens usadas neste tutorial |link:images/rose.jpg[+rose.jpg+]
link:images/sunflower.jpg[+sunflower.jpg+]
link:images/aster.jpg[+aster.jpg+]
link:images/honeysuckle.jpg[+honeysuckle.jpg+] 
|===

*Observação: *o GlassFish Server pode ser instalado com o conjunto Java EE obtido por download do NetBeans IDE. Como alternativa, você pode visitar link:https://glassfish.java.net/download.html[+a página de downloads do GlassFish Server+].

*Dica:*como opção, para fins de solução de problemas, você pode link:https://netbeans.org/files/documents/4/2343/SoapWithAttachments.zip[+fazer o download da amostra completa+] e inspecionar os códigos-fonte.

No fim deste tutorial, você terá uma aplicação Java Swing em execução que consome imagens JPEG por meio de um Web service, com o resultado exibido a seguir:

image::images/running-client.png[title="JFrame mostrando todas as imagens de flores obtidas do Web Service"]


== Próxima etapa:

link:./flower_ws.html[+ Criando o Web Service+]

link:/about/contact_form.html?to=3&subject=Feedback:%20Flower%20Overview%20EE6[+Enviar Feedback neste Tutorial+]



== Consulte Também

Para obter informações detalhadas antes de usar este tutorial, consulte os seguintes recursos:

* link:./jax-ws.html[+Introdução aos Web Services JAX-WS+]
* link:../../docs/websvc/client.html[+Desenvolvendo Clientes de Web Services+]
* link:../javaee/javaee-gettingstarted.html[+Conceitos Básicos sobre Aplicações do Java EE+]
* link:./wsit.html[+Interoperabilidade Avançada de Web Service+]

Para enviar comentários e sugestões, obter suporte e se manter informado sobre os mais recentes desenvolvimentos das funcionalidades de desenvolvimento Java EE do NetBeans IDE, link:../../../community/lists/top.html[+inscreva-se na lista de notícias nbj2ee@netbeans.org+].

