Consumir un Web Service (WSDL) usando JQuery

Publicado en 'Programación' por Rubén Blades, 7 Ene 2013.





  1. Rubén Blades

    Rubén Blades Miembro frecuente

    Registro:
    27 Abr 2010
    Mensajes:
    236
    Likes:
    54




    Hola a todos ,
    Alguien por aquí ya ha hecho esto antes ?
    El web service es simple : se le envia un user y un password y te debe devolver el nombres y los apellidos de ese user.
    El problema es que he estado buscando en internet ayuda en distintas páginas y no encuentro la forma correcta e indicada para lograr que mi web service sea consumido en una pagina HTML usando jquery.
    Es la primera vez que trato de hacer algo como esto, espero que puedan ayudarme.

    Saludos :hi:.
     


  2. erickxls

    erickxls Miembro maestro

    Registro:
    13 Set 2008
    Mensajes:
    842
    Likes:
    15
    si quieres consumir el servicio usando jQuery lo que puedes hacer es hacer un web service REST, y para poder manejar la data que te devuelva el servicio puedes usar JSON y con la function getJSON de jQuery haces las peticiones al servicio
     
  3. Rubén Blades

    Rubén Blades Miembro frecuente

    Registro:
    27 Abr 2010
    Mensajes:
    236
    Likes:
    54
    El servicio ya esta creado y esta hecho en SOAP.
    A mi solo me dan la ruta del web service (http://192.168.52.4/spring-ws/services/login.wsdl) y el nombre de la operacion (validarUser). En base a eso debo de consumir el web service en una página html usando jquery o javascript.
     
  4. blackphoenix

    blackphoenix Miembro maestro

    Registro:
    13 Set 2008
    Mensajes:
    724
    Likes:
    130
    Busca info sobre JSON...

    Enviado desde mi GT-S7500L usando Tapatalk
     
  5. Rubén Blades

    Rubén Blades Miembro frecuente

    Registro:
    27 Abr 2010
    Mensajes:
    236
    Likes:
    54
    Ya encontré info sobre JSON , pero no estoy seguro de si mi web service hecho en java (wsdl) soportará que los mensajes request y response que reciba y devuelva sean del tipo JSON.

    Tú has trabajado algún web service de java con y lo has consumido directamente desde en una pagina html ?
     
  6. erickxls

    erickxls Miembro maestro

    Registro:
    13 Set 2008
    Mensajes:
    842
    Likes:
    15
  7. Sindakil

    Sindakil Miembro nuevo

    Registro:
    24 Ene 2013
    Mensajes:
    1
    Likes:
    0
    hola yo soy algo nuevo en esto, buscando en internet encontre algo que quizas te sirva
    mira este link de todas maneras aqui te envio un codigo que por lo menos a mi me funciono
    consumi un servicio web soap hecho en java desde jquery eso si te hace falta
    la url : que no es mas que la direccion del wsdl sin el ?wsdl al final
    y tambien te hace falta conocer el namespace y el nombre del metodo y los parametros para conformar el mensaje soap aqui te dejo mi codigo :

    tuve que quitar el encabezado soap porque no me deja subir urls dice que tengo que tener una pila de cosas ahi entonces lo que debes buscar es el encabezado del mensaje

    Código:
    var soapMessage='<?xml version="1.0" encoding="UTF-8" ?><S:Envelope xmlns:S="" xmlns:xsd="" xmlns:xsi="" ><S:Body ><ns1:getSenses xmlns:ns1="aqui va tu namespace que debe estar en el wsdl"><word xsi:type="xsd:string">'+word+'</word><pos xsi:type="xsd:string">'+pos+'</pos><limit xsi:type="xsd:int">0</limit><offset xsi:type="xsd:int">10</offset></ns1:getSenses></S:Body></S:Envelope>';
                                        
                                        
                                                                      
                                        $.ajax({
                                            url: "tu url",
                                            type: "POST",
                                            dataType: "xml",
                                            contentType: "text/xml",
                                            data:soapMessage,
                                            processData: true,
                                                                            
                                            complete: function(data){
                                                $("#resultado code").text(data.responseText);  
                                            }
                                        });
    espero que te sirva