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

= Anexo SOAP Binário Ponto a Ponto 2: Criando o Web Service
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Anexo SOAP Binário Ponto a Ponto 2: Criando o Web Service - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Anexo SOAP Binário Ponto a Ponto 2: Criando o Web Service

O objetivo desta lição é criar uma aplicação Web que contenha um Web service. Você implementará o Web service como um bean de sessão sem estado.

É possível fazer download de uma amostra completa do Web service do link:https://netbeans.org/projects/samples/downloads/download/Samples%252FWeb%2520Services%252FWeb%2520Service%2520Passing%2520Binary%2520Data%2520--%2520EE6%252FFlowerAlbumService.zip[+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. link:./flower_overview.html[+Visão Geral+]
2. => 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+]


1. <<create-web-app,Criando a Aplicação Web>>
2. <<add-ws,Adicionando o Web Service>>


[[create-web-app]]
== Criando a Aplicação Web

Nesta seção, você criará uma aplicação Web Java EE. Para esta aplicação, você adicionará as imagens que o Web service passará como dados binários.

*Para criar a aplicação Web:*

1. Selecione Arquivo > Novo Projeto (Ctrl-Shift-N no Linux e no Windows, ⌘-Shift-N no MacOS). O Assistente de Novo Projeto será exibido. Selecione Aplicação Web na categoria Java Web e clique em Próximo. A página Nome e Localização será aberta.
2. Digite  ``FlowerAlbumService``  no campo Nome do Projeto. Selecione a localização que deseja para este projeto. Mantenha as definições default das outras opções e clique em Próximo. A página Servidor e Definições será aberta.
3. Selecione o servidor GlassFish Server e Java EE versão Java EE 6 Web ou Java EE 7 Web.
4. Clique em Finalizar. O projeto  ``FlowerAlbumService``  será criado e aparecerá na janela Projetos.
5. Clique com o botão direito do mouse no nó Pacotes de Código-Fonte e selecione Novo > Pacote Java.

Se preferir, selecione Novo > Outro e selecione Pacote Java na categoria Java do assistente de Novo Arquivo.

6. Nomeie o pacote  ``org.flower.resources`` . Clique em Finalizar.
image::images/new-package.png[]
7. Copie as imagens a seguir para  ``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+]

O projeto agora tem o pacote  ``org.flower.resources``  no Pacote de Código-Fonte. Nenhum outro conteúdo foi adicionado.

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


[[add-ws]]
== Adicionando o Web Service

Nesta seção, você criará um Web service na aplicação Web. Você criará o serviço como um bean de sessão sem estado. Você adicionará as operações da Web a seguir ao serviço:

* Uma operação que leva o nome de uma flor e tem sua  ``Imagem``  associada.
* Uma operação que obtém miniaturas de todas as imagens de flores e as retorna como uma `` Lista`` .

*Para adicionar o Web service:*

1. Na janela Projetos, clique com o botão direito do mouse no nó do projeto  ``FlowerAlbumService``  e selecione Novo > Web Service. Como alternativa, escolha Novo > Outro e selecione Web Service em Web Services no assistente Novo Arquivo. O assistente Novo Web Service será aberto.
2. No assistente Novo Web Service, digite  ``FlowerService``  em Nome do Web Service e  ``org.flower.service``  em Nome do Pacote. Selecione Criar Web Service do Início. Selecione Implementar Serviço como Bean de Sessão Sem Estado. Clique em Finalizar. 
image::images/new-service.png[]

O Web service aparecerá em nós do projeto na janela Projetos. O diretório Pacotes de Código-Fonte inclui o pacote do serviço e o pacote de recursos.

image::images/project-w-service-and-resources.png[]
3. Abra  ``FlowerService.java``  no editor. Alterne para a view de Design. Um form aparecerá, no qual você pode adicionar operações e elementos de qualidade de serviço ao Web service.
image::images/flower-service-empty-design.png[]
4. Clique em Adicionar Operação. O assistente Adicionar Operação será aberto.
5. Nomeie a operação  ``getFlower`` . No campo Tipo de Retorno, digite ou navegue para  ``java.awt.Image`` .
6. Na guia Parâmetros, clique em Adicionar. Nomeie o parâmetro  ``nome``  e aceite o tipo  ``java.lang.String``  default. 
image::images/add-getflower-param.png[]
7. Abra a guia Exceções. Adicione uma  ``IOException`` .
image::images/io-exception.png[]
8. Clique em OK e feche o assistente. Em seguida, clique novamente em Adicionar Operação e adicione uma operação com as seguintes propriedades:
* *Nome:* getThumbnails
* *Tipo de retorno:* java.util.List
* *Exceção: * IOException

A view de Design agora mostra as operações  ``getFlower``  e  ``getThumbnails`` . Alterne para View de Lista das duas operações e veja todos os parâmetros delas.

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


==  


== Próxima etapa:

link:./flower-code-ws.html[+Codificando e Testando o Web Service+]

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


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+].

