Usar web service apenas com o endereço do wsdl [Resolvido]

9 respostas
M

Preciso consumir um web service, mas tenho uma documentação que contem apenas o endereço do WSDL e o nome (e parâmetros) dos métodos.

O endereço está neste formato http://…/…/…asmx?wsdl

Não tenho acesso a rede para validar essa URL. Ou seja, tenho que fazer uma aplicação “no escuro” e enviá-la para o cliente testar.

Minha dúvida: é possível criar um cliente tendo apenas as informações acima ou preciso também do name space, do service name e do port name?

Grato.

9 Respostas

V

Cara, até onde eu sei a única forma de você consumir um webservice (gerar seu client webservice) é através do wsdl, sendo assim, você pode apontar para uma URL ou utilizar um arquivo local. Como você esta sem rede, pegue o .wsdl com o fornecedor do serviço, copie-o para um diretório local e aponte para esse arquivo para gerar seu código cliente.

abrss

R

é, você pode usar o Axis pra facilitar seu trabalho (ou alguma outra lib), mas você precisa do wsdl, ele contem as informações dos serviços disponíveis, os dados de entrada e saída, sem isso fica impraticável acessar o WS.

A

Porque as pessoas insistem em usar o Axis? Ô povinho masoquista…

Tem uma pequena aplicaçãozinha na própria JDK chamada wsimport. Use-a e seja feliz (Tem um exemplo de como usar aqui). Mas o pessoal tem razão, você precisa do WSDL para fazer isso (a não ser que você saiba EXATAMENTE como deve ser feita a requisição, o que não acredito que seja o caso).

[]'s

R

Hehehehe realmente, o Axis é um cara muito chato de se usar,

mas a infelicidade é que tem muita coisa pronta com ele, então se você chega em um lugar onde já está sendo usado, aprende a se acostumar com ele.

mas realmente é terrível de aprender a usar.

A

digaoneves:
Hehehehe realmente, o Axis é um cara muito chato de se usar,

mas a infelicidade é que tem muita coisa pronta com ele, então se você chega em um lugar onde já está sendo usado, aprende a se acostumar com ele.

mas realmente é terrível de aprender a usar.

Não digo nem de aprender a usar… já fui P&D, estou razoavelmente acostumado a devorar código. É que o Axis é instável mesmo. Dá uma olhadinha na minha assinatura, que você vai entender o porque (uma imagem diz mais do que mil palavras).

[]'s

A

mspereira:
Preciso consumir um web service, mas tenho uma documentação que contem apenas o endereço do WSDL e o nome (e parâmetros) dos métodos.

O endereço está neste formato http://…/…/…asmx?wsdl

Não tenho acesso a rede para validar essa URL. Ou seja, tenho que fazer uma aplicação “no escuro” e enviá-la para o cliente testar.

Minha dúvida: é possível criar um cliente tendo apenas as informações acima ou preciso também do name space, do service name e do port name?

Grato.

Agora que eu lí direito o problema. Amigo, quem, em sã consciência, em 2012, faz aplicação “no escuro” e manda pro cliente testar?

PS: Para consumir o web service você precisa de algumas informações que estão, sim, no WSDL. Não basta apenas saber nome e parâmetros dos métodos.

[]'s

R

Nossa, é realmente aquela imagem até assusta quem usa o Axis 2.

mas qual seria uma alternativa boa? algo já pronto.

wsimport somente?

A

digaoneves:
Nossa, é realmente aquela imagem até assusta quem usa o Axis 2.

mas qual seria uma alternativa boa? algo já pronto.

wsimport somente?

Pra clients, wsimport. Para servidores, JBoss WS, JAX-WS RI, Metro, Apache CXF, ou … qualquer outra coisa que não tenha Axis no nome =D

M

Pessoal, obrigado pelas respostas.
Vou lá e usarei o wsimport.
Já tinha visto exemplos básicos com o Axis, mas não sabia dos “contras”.

Criado 19 de setembro de 2012
Ultima resposta 19 de set. de 2012
Respostas 9
Participantes 4