Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Web services como un servlet

Estas en el tema de Web services como un servlet en el foro de Java en Foros del Web. Hola a todos, Alguien sabe si un servlet puede simular un Webservices tipo JAX-WS. He visto mucho en internet y dan los pasos pero no ...
  #1 (permalink)  
Antiguo 25/09/2013, 14:16
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 10 años, 11 meses
Puntos: 3
Web services como un servlet

Hola a todos,
Alguien sabe si un servlet puede simular un Webservices tipo JAX-WS. He visto mucho en internet y dan los pasos pero no muestran codigo, además que el WS simulado debe ser tipo JAX-WS. Lo que he hecho es que el servlet retorna al cliente el xml wsdl que describe el servicio pero no se luego como mandar la respuesta tipo SOAP. la solicitud SOAP si la estoy recibiendo pero no se como hacer la respuesta SOAP ya que inicialmente respondi fue con el xml wsdl.
  #2 (permalink)  
Antiguo 25/09/2013, 14:44
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Web services como un servlet

Hola:

Habitualmente, para consultar el wsdl se pone algo como http://url/webservice?wsdl y para llamar a algún método del web service, se usa http://url/webservice, sin el ?wsdl detrás. En tu servlet deberías ver si están accediendo a la url con o sin ?wsdl.

No es habitual, pero también podrías usar el doGet() del servlet para devolver el wsdl y el doPost() para el soap.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 25/09/2013, 15:18
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 10 años, 11 meses
Puntos: 3
Respuesta: Web services como un servlet

Hola, Muchas gracias por tu tiempo. Pues la url del servlet me accede con o sin ?wsdl y en las dos formas me muestra el wsdl. Lo que no se es distinguir cuando estoy consultando el wsdl y cuando llamar al metodo ya que para probar el WS yo utilizo el stub generado por el wsdl y a este solo se le pasa la url que seria la url del servlet y es que no había comentado que el webServices lo debo generar a partir de un WSDL que ya tengo. El webservices no lo puedo generar con JAX-ws ya que utilizo ejb 2.1 y este viene es con JAX-RPC, pero se supone que el stub generado por el cliente web debe ser el mismo.
  #4 (permalink)  
Antiguo 26/09/2013, 01:53
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Web services como un servlet

Dentro del HttpServletRequest que recibes en tu servlet en el método doPost() o doGet() tienees métodos para interrogar si en la url hay o no un ?wsdl . No he probado, pero posiblemente el método getPathInfo(), o prueba con getParameter("wsdl"), o con getQueryString(), ....

http://docs.oracle.com/javaee/1.3/ap...etRequest.html

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 26/09/2013, 08:40
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 10 años, 11 meses
Puntos: 3
Respuesta: Web services como un servlet

Hola Javier, Muchiiiiisimas Gracias, me has guiado lo suficiente para encontrar una solución. Pues la verdad si que me valí con el método getParameter("wsdl"). Lo que hice fue si este método NO retorna un null entonces mostraba el wsdl y si era null entonces retornaba el formato de respuesta y me funcionó. Aún no he probado pero al parecer también está el parametro operation indicando que es la operación. Muchísimas gracias, me has servido mucho. También dejo una url que me valí, buscando otra alternativa la cual parece también buena.
http://www.joseluisoo.net/computing/web-services/jaxws-first-steps/section06
Saludos, !!!

Etiquetas: services, servlet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:14.