Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Cómo llamar un web service

Hola a todos,

Os escribo esta consulta porque despúes de mucho buscar y pruebas no acaba de funcionarme una llamada a web services y, tal vez, el problema es que hay algo de base que me falta y no sé.

Os explico mi problema. Tengo una aplicación que disponen de web services para para poder solicitarle algunas peticiones. Estos webservices estan desarrollado (creo) con tegnología .NET (creo que no es relavante) y cuando navego a "http://myservidor/Servicios/service1.asmx" me aparece el listado de servicios disponibles y detalles.

En concreto, del servicio que quiero utilizar dice sobre la llamada


POST /NautilusWebService/service1.asmx HTTP/1.1
Host: servidorberrys.aiguesmataro.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ProcessXMLRequest xmlns="http://tempuri.org/">
<xmlInput>string</xmlInput>
</ProcessXMLRequest>
</soap12:Body>
</soap12:Envelope>

y que devuelve la respuesta :

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ProcessXMLRequestResponse xmlns="http://tempuri.org/">
<ProcessXMLRequestResult>string</ProcessXMLRequestResult>
</ProcessXMLRequestResponse>
</soap12:Body>
</soap12:Envelope>

A partir de aqui he intentado diferentes formas de llamarlo (creando el mensaje como string, creand un SOAPMessage, ...) pero siempre me encuentro con algún paràmetro que no dispongo (namespace, ...) formato incorrecto (content-type erroneo) o otros errores como "Could be an error message instead of a SOAP message".

Os agradecería que me indicaráis algún ejemplo o algunas ideas sobre cómo realizar esta llamada al webservice.

Gracias por adelantado,

blas

junio 17, 2014 | Unregistered CommenterBlas López

Buenas,

Lo mas facil es que te generes el cliente WS a partir del wsdl con wsimport. Aqui tienes un muy buen ejemplo de como crear y utilizar el cliente:
http://www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example/


Un saludo

junio 17, 2014 | Unregistered CommenterUnoPorAhi