Java Soap RPC/encoded

Para quem trabalha com WS SOAP, sabe que existe uma versão de 12 anos atrás, bem ultrapassado que usa o primeiro modelo de SOAP 1.x do tipo “encoded”. Não entrando no mérito dessa questão agora [veja esse material para dúvidas], sabemos que muitas empresas ainda estão desenvolvendo esse modelo de WS para novos projetos. Motivo?  Independentemente do por que disso, nós temos que fazer a integração e o projeto precisa caminhar. Assim, a dica de hoje é sobre isso:

A primeira questão é que a versão do JAX-RS atual do java não implementa essa versão antiga de SOAP, deixando muitos desenvolvedores na mão. Qualquer tentativa de gerar o STUB para um WSDL do tipo encode é gerada um erro bem conhecido:

“Use of SOAP Encoding is not supported. SOAP extension element on line 65 in file has use=”encoded” ” Failed to parse the WSDL.

A unica solução para esses casos é deixar de usar a versão oficial do JAX-RS da JDK [Metro] e usar a antiga API de 2006 Apache Axis 1.4 que suporta esse protocolo. O problema que é gerador de STUB dele é bem chato, cheio de jars, muitas dependências, configurações de classpath e muitos detalhes que atrapalham e atrasam de mais o objetivo final que é gerar um STUB java e consumir o SOAP.

A dica é o seguinte: Use a ferramenta SoapUI para consumir, testar e gerar o STUB automaticamente. Segue os passos:

Passo 1:

Baixe a versão grátis e faça a instalação.

Passo 2:

Crie um projeto, menu: File-> New SOAP Project:

Passo 3:

Crie um nome para o projeto e adicione o endereço o WSDL.

Passo 4:

Clique  no projeto, entre na opção Generate Code -> Axis 1 x que é a opção para gerar o STUB justamente o apache AXIS.

Passo 5:

Antes de gerar o STUB, clique no botão Tools para configurar os jars do axis.

Passo 6:

No item de menu Tools, na opção Axis 1.x, configure os jar dos frameworks axis, colocando obrigatoriamente em uma pasta chamada lib.

Vejas os jar’s que eu usei nesse exemplo:

Passo 7:

Escolha sua pasta de preferencia, click no botão Generate para gerar então o STUB para consumir esse soap antigo.

Todas as classes de STUB (interfaces, objeto de transferências, mapeadores SOAP e ports) serão gerados. Vc pode alterar os pacotes a gosto e importar no seu projeto. Uma opção rápido, fácil e evitando perder seu precioso tempo que essa parafernália de SOAP antigo. Até a próxima galera 😉 !

“Ninguém tem mais amor pelos seus amigos do que aquele que dá a sua vida por eles.” João 15:13

Anúncios

Os comentários estão encerrados.

Crie um website ou blog gratuito no WordPress.com.

Acima ↑

%d blogueiros gostam disto: