corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

Criando serviços Web Apache Axis2 no NetBeans IDE

Este tutorial mostra como criar e implantar um serviço Web Apache Axis2 a partir de uma classe Java. Você também aprende como configurar os servidores Tomcat e GlassFish incluídos no NetBeans IDE para implantar serviços Web Axis2. O tutorial também mostra como configurar as opções do Axis2 no IDE de forma que o IDE implante corretamente os serviços Web Axis2.

Apache Axis é uma implementação do envio do SOAP (Simple Object-Access Protocol) para o W3C. O Apache Axis2 é uma versão mais eficiente, modular e mais orientada a XML do Axis. O Axis2 não somente dá suporte a SOAP 1.1 e SOAP 1.2, mas também possui suporte integrado para serviços Web RESTful. A mesma implementação da lógica comercial pode oferecer uma interface de estilo WS-* assim como uma interface do estilo REST/POX simultaneamente. Para obter mais informações sobre Axis2, consulte o site Apache.org.

Os serviços Web Axis2 são interoperáveis com Metro. Você pode criar um cliente JAX-WS para um serviço Web Axis2, embora algumas operações WSDL mais complicadas do Axis2 talvez não tenham suporte.

Conteúdo

 O conteúdo desta página se aplica ao IDE NetBeans 6.1

Para seguir este tutorial, você precisa dos seguintes recursos e softwares.

Software ou recurso Versão necessária
NetBeans IDE versão 6.1
Java Development Kit (JDK) versão 6 ou
versão 5
Apache Axis 2 versão 1.3 ou posterior
Apache Ant, instalado e
adicionado ao seu código
versão mais recente
Servidor da aplicação ou Web compatível com Java EE Servidor Web Tomcat 6.0 e/ou
Servidor da aplicação GlassFish v2

O Tomcat e o GlassFish podem ser instalados com a distribuição Web e Java EE do NetBeans IDE. Como alternativa, você pode visitar a página de download do GlassFish ou a página de download do Apache Tomcat.

Este tutorial também requer o plug-in de suporte ao Axis2. No IDE, vá para o gerenciador de plug-ins, no menu Ferramentas, e verifique se o plug-in Serviços Axis2 está instalado, na aba Instalado. Caso não esteja, instale-o a partir da aba Plug-ins disponíveis, como mostrado abaixo:

Captura de tela do gerenciador de plug-ins mostrando o plug-in de suporte ao Axis2

Instalando o Apache Axis2 e o Apache Ant

O Apache Axis2 e o Apache Ant são baixados como arquivos. O Axis2 pode ser baixado aqui e o Ant pode ser baixado aqui. Para instalar esses programas, descompacte os arquivos baixados nas localizações de sua escolha. Os diretórios de instalação agora serão chamados de AXIS2_HOME e ANT_HOME respectivamente. Depois de instalar o Ant, adicione o caminho para o diretório ANT_HOME/bin ao seu classpath.

Criando e copiando o arquivo WAR do Axis2

Para você implantar os serviços Web do Axis2 em um servidor da aplicação, o servidor precisa de uma cópia de um arquivo axis2.war (Web ARchive). Você pode criar um arquivo axis2.war executando o Apache Ant no diretório de instalação do Axis2. Depois de criar o axis2.war, copie-o para a base do Tomcat e GlassFish.

Para criar e copiar o arquivo WAR do Axis2:

  1. Navegue para AXIS2_HOME/webapp. Abra um prompt de comento nesse diretório e execute o comando ant. Ant cria AXIS2_HOME/dist/axis2.war com base no arquivo AXIS2_HOME/webapp/build.xml. Você precisa ter ANT_HOME/bin em seu classpath.
  2. Copie AXIS2_HOME/dist/axis2.war para seu diretório CATALINA_BASE/webapps do Tomcat. Se você não souber onde está seu CATALINA_BASE, inicie o IDE e abra a aba Serviços. Expanda o nó Servidores. Clique com o botão direito do mouse no nó Tomcat 6.0 e selecione Propriedades no menu de contexto. A localização do Catalina Base fica visível na aba Conexão.
    Tela Propriedades do Tomcat mostrando a localização do Catalina Base
  3. Copie AXIS2_HOME/dist/axis2.war para GLASSFISH_HOME/domains/DOMAIN_NAME/autodeploy. Para localizar GLASSFISH_HOME e o nome do seu domínio, inicie o IDE e abra a aba Serviços. Expanda o nó Servidores. Clique com o botão direito do mouse no nó GlassFish V2 e selecione Propriedades no menu de contexto. A localização da pasta Domínios e o nome do domínio ficam visíveis na aba Conexão. Por exemplo, na imagem seguinte, você sabe que deve copiar axis2.war para C:\Program Files\glassfish-v2ur1\domains\domain1\autodeploy.
    Página de propriedades do GlassFish mostrando o caminho para o diretório de domínios e o nome de domínio do GlassFish

Configurando as opções do Axis2 para Tomcat

Os serviços do Axis são executados mais rapidamente no Tomcat do que no GlassFish, mas a configuração é ligeiramente mais complicada. Você pode facilmente implantar o mesmo serviço no Tomcat e no GlassFish, implantando primeiro em um servidor, em seguida, alterando as opções do Axis2 e finalmente implantando no outro servidor.

Se você deseja implantar no GlassFish em vez de no Tomcat, vá para Configurando opções do Axis2 para GlassFish.

Para configurar as opções do Axis2 para Tomcat:

  1. Inicie o IDE. Na barra de menu, escolha Ferramentas -> Opções. A janela Opções se abre.
  2. Clique no ícone Axis2. A página de opções de deployment do Axis2 se abre.
    Página de opções do Axis2 configurada para Tomcat
  3. Defina a localização de destino dos arquivos AAR do Axis2 para o diretório CATALINA_BASE (não TOMCAT_HOME) webapps/axis. Você pode encontrar a localização de CATALINA_BASE nas propriedades dos servidores Tomcat, como descrito em Criando e copiando o arquivo WAR do Axis2.

  4. Verifique se o campo URL do Axis2 contém o número de porta do seu servidor Tomcat. Para verificar o número da porta, inicie o Tomcat (na aba Serviços ou em Ferramentas -> Servidores) e veja que porta o HTTP/1.1 do Coyote usa.
    Saída do Tomcat mostrando o número da porta HTTP do Coyote
  5. Por conveniência, selecione Usar gerenciador do Tomcat para deployment. Esta função significa que o IDE iniciará o gerenciador do Tomcat no segundo plano e executará o comando reload no axis2.war toda vez que você fizer uma alteração no axis2.war. Se não selecionar Usar gerenciador do Tomcat para deployment, você terá que executar o gerenciador do Tomcat manualmente ou usar outras ferramentas do Tomcat para carregar o axis2.war toda vez que fizer uma alteração nele.

    O nome de usuário padrão do gerenciador do Tomcat é "tomcat" e a senha padrão também é "tomcat". Para verificar se o gerenciador do Tomcat está implantado e possui o nome de usuário e a senha do gerenciador padrão, abra CATALINA_BASE/conf/tomcat-users.xml. A função do gerenciador deve ser definida e ela deve ter um nome de usuário e uma senha atribuída a ela, como na versão seguinte do arquivo. (Você pode copiar e colar esse arquivo, se necessário.)

    <?xml version='1.0' encoding='utf-8'?>
    <tomcat-users>
      <role rolename="manager"/>
      <role rolename="admin"/>
      <user username="tomcat" password="tomcat" roles="manager,admin"/>
      <user username="ide" password="YENnS8UT" roles="manager,admin"/>
    </tomcat-users>
                

Configurando as opções do Axis2 para GlassFish

Você pode implantar os serviços Web do Axis2 no servidor da aplicação GlassFish embora o Tomcat seja significativamente mais rápido. Você pode facilmente implantar o mesmo serviço no Tomcat e no GlassFish, implantando primeiro em um servidor, em seguida, alterando as opções do Axis2 e finalmente implantando no outro servidor.

Se você deseja implantar no Tomcat em vez de no GlassFish, vá para Configurando as opções do Axis2 para Tomcat.

Para configurar as opções do Axis2 para Glassfish:

  1. Inicie o IDE. Na barra de menu, escolha Ferramentas -> Opções. A janela Opções se abre.
  2. Clique no ícone Axis2. A página de opções de deployment do Axis2 se abre.
    Página de opções do Axis2 configurada para GlassFish
  3. Defina a localização de destino dos arquivos AAR do Axis2 para o diretório GLASSFISH_HOME/domains/DOMAIN_NAME/autodeploy. Você pode localizar o GLASSFISH_HOME e o nome do domínio nas propriedades dos servidores GlassFish, como descrito em Criando e copiando o arquivo WAR do Axis2.

    Observação: Colocando axis2.war no diretório autodeploy, você permite ao GlassFish reimplantar automaticamente o axis2.war toda vez que altera o arquivo.

  4. Garanta que o campo URL do Axis2 contenha o número de porta correto do servidor GlassFish. Para verificar o número da porta, inicie o GlassFish (na aba Serviços ou em Ferramentas -> Servidores) e veja qual porta 80xx o HTTP 1.1 usa. Na imagem seguinte, o número de porta correto é 8081:
    Saída do servidor GlassFish mostrando o número da porta HTTP 8081

Observação: Se estiver usando o Windows Vista, possui o GlassFish instalado em Arquivos de Programa, e o Controle de Acesso do Usuário ativado, você não será capaz de fazer alterações no arquivo axis2.war a partir do IDE. Instale o GlassFish em uma localização diferente ou desative o UAC.

Criando um serviço Web do Axis2

No NetBeans IDE, você pode criar um serviço Web do Axis2 a partir de uma classe Java. Você só pode fazer isso a partir de um aplicativo Java ou do projeto de biblioteca Java. Neste tutorial, você cria um projeto de biblioteca Java (porque você não precisa de um método principal), cria um serviço Web do Axis2 nesse projeto (criando a classe Java ao mesmo tempo) e implanta o serviço Web do Axis2 em um servidor.

Para criar e implantar um serviço Web do Axis2:

  1. Clique no ícone Novo projeto ou Arquivo -> Novo projeto. O assistente para novo projeto é aberto. Na categoria Java, selecione um projeto de biblioteca de classe Java. Clique em Próximo.
  2. Chame o projeto de AxisHello. Verifique se você está usando o nome e a localização da pasta do projeto que deseja. Depende de você compartilhar o projeto. Clique em Terminar, e o IDE cria o projeto.
  3. Clique com o botão direito do mouse no nó do projeto. O menu de contexto se abre. No menu de contexto, escolha Novo -> Outro. O assistente para Novo arquivo se abre. Na categoria Serviços Web, escolha Serviço do Axis2 em Java e clique em Próximo.
    Optando por criar um serviço do Axis2 Service em Java no assistente para Novo arquivo
  4. A página Seleção de tipo de serviço do assistente para Novo arquivo agora está aberta. Você não tem classes Java no projeto, portanto, selecione "Criar um serviço Web vazio." Caso já tenha codificado uma classe Java, você teria selecionado Criar um serviço Web a partir de uma classe Java existente. Se queria editar o WSDL do serviço Web, por exemplo, para adicionar ou alterar namespaces, você selecionaria Gerar um WSDL a partir do código-fonte Java. Editar o WSDL está fora do escopo deste tutorial, portanto, deixe essa opção desmarcada. O assistente deve se parecer com a seguinte imagem:
    Página Seleção de tipo de serviço configurada para criar um serviço Web vazio
  5. Clique em Próximo. A página Nome e localização se abre. Chame a classe Java de HelloAxisWorld. Chame o pacote de axishello. Deixe Gerar método de amostra selecionada. Isso gera um método na classe Java que retorna "Hello, World."
  6. Clique em Terminar. O IDE gera uma classe HelloAxisWorld.java no pacote de códigos-fonte axishello e um serviço Web HelloAxisWorld Axis2 que espelha essa classe Java. Você pode ver que a classe Java e o serviço Web Axis2 têm uma operação hello:String, mostrada na aba Navegador e o nó do serviço Web Axis2, respectivamente.
    Abas Navegador e Projeto mostrando o serviço Web do Axis2 e as operações de classe Java idênticos

Implantando e testando um serviço Web Axis2

Quando você tiver criado um serviço Web do Axis2, será preciso implantá-lo em um servidor. Na verdade, o deployment para um servidor envolve duas etapas:

  1. Copiando o serviço Web do Axis2 para o arquivo axis2.war usado pelo servidor. Esta etapa também pode ser feita com o servidor offline.
  2. Reimplantando o arquivo axis2.war atualizado no servidor.

Se você estiver implantando no Tomcat com a opção Usar gerenciador do Tomcat para deployment ativada (consulte Configurando as opções do Axis2 para Tomcat), ou se você estiver implantando no GlassFish e o axis2.war estiver na pasta GLASSFISH_DOMAIN/autodeploy (consulte Configurando as opções do Axis2 para GlassFish), o axis2.war atualizado será reimplantado automaticamente no servidor. Caso contrário, você terá que reimplantar o axis2.war manualmente, usando as ferramentas do servidor da aplicação. Neste tutorial, presumimos que você tenha configurado as opções do Axis2, portanto, o redeployment é automático.

Para implantar um serviço Web do Axis2 no servidor:

  1. Clique com o botão direito do mouse no nó do serviço Web. O menu de contexto se abre. Selecione Implantar no servidor. O IDE compila um arquivo AAR do Axis2 e o copia para o arquivo axis2.war usado pelo servidor da aplicação.
  2. Se você ativou o deployment automático, o serviço Web será implantado no servidor. Se o servidor não estiver em execução, inicie-o e o serviço Web será implantado automaticamente.
  3. Para testar o serviço, expanda o nó do serviço Web para revelar as operações. Clique com o botão direito do mouse no nó hello:String e selecione Testar operação no navegador.
    Menu de contexto do subnó Operação mostrando a opção para Testar operação no navegador
  4. Seu navegador se abre com um valor de teste das suas variáveis. O valor do teste é anexado à URL.
    Janaela do navegador mostrando os resultados do teste da operação e os valores de teste anexados à URL
  5. Altere o valor da variável na URL e pressione Enter. O resultado do teste também é alterado.
    Janela Navegador mostrando os resultados do teste e os valores alterados da operação

Alterando as operações do serviço Web

Para alterar as operações do serviço Web, edite o arquivo Java no projeto. As operações no serviço Web se alteram simultaneamente. Adicione um método add simples a HelloAxisWorld.java, como abaixo:

public class HelloAxisWorld {

    /** Sample method
    */
    public String hello(String name) {
        return "Hello "+name;
    }
    public int add(int x, int y) {
            return x+y;
    }
        }

Salve o arquivo Java e a operação aparecerá como um subnó do serviço Web.
Aba Projetos mostrado o novo subnó da operação ao serviço Web

Reimplante o serviço Web e teste-o como descrito em Implantando e testando um serviço Web do Axis2.

Mais exercícios

Aqui estão mais algumas idéias para você explorar:



Veja também

Para obter mais informações sobre como usar o NetBeans IDE para criar e consumir serviços Web, consulte os seguintes recursos:

Para enviar comentários e sugestões, obter suporte e se manter informado sobre os mais recentes desenvolvimentos dos recursos de desenvolvimento de Java EE do NetBeans IDE, inscreva-se na lista usuários de .

Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems