Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/06/2017, 10:57
abrahamhs
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: ¿Hacen falta servlets para usar un web service ?

Primero que nada un cliente Web Service SOAP se hace de la siguiente manera en eclipse:
1. cree un proyecto java normal y luego clic derecho->new Web Service client->
2. pegar la url o archivo wsdl y bajar la barra a Develop Client
3. Esto genera varios archivos. La clase que hay que instanciar para consumir el Web service soap siempre es la que termina SoapProxy.

Por lo tanto para consumir un WS no necesitas un archivo .jsp si no simplemente una clase java.

Por otro lado, los servidores de aplicaciones contenedores de Servlets, sea tomcat, glassfish, weblogic, etc. tienen un motor de traducción que convierte todo .jsp en un servlet y eso es lo que ves en la pestaña de Weblogic.

Este funcionamiento que acabo de explicar no tiene nada que ver con un WS, sino que es como funcionan los JSPs en java.

En cambio lo que puse al principio de eclipse, eso si te genera un WS cliente soap. Una vez creadas las clases generadas tienes que hacer algo como esto:

Código Java:
Ver original
  1. public class ClienteSoapJava {
  2.     public static void main(String[] args)throws RemoteException{
  3.         ConversionServiceProxy servicio=new ConversionServiceProxy();
  4.         double conversion=servicio.conversionRate("USD", "MXN");
  5.         System.out.println(conversion);
  6.     }
  7. }
ConversionServiceProxy es la clase que se debe invocar para consumir el WS (En mi ejemplo, por que puede se distinta ), entonces tienes que crear un objeto de esa clase y llamar a uno de sus metodos conversionRate en este caso (tambien puede ser distinto), que ya es el método del WS a invocar.

Como vez son dos cosas distintas, una es el consumo de WS y la otra es la traducción de jsp a servlets que realiza cualquier servidor de aplicaciones java.

Como puedes ver, la respuesta es no, no hace falta un servlet para consumir un ws soap como cliente. Pero si estuvieras en un servlet, si puedes consumir un WS desde ahi.

Última edición por abrahamhs; 07/06/2017 a las 11:01 Razón: ortografia