2011-09-25 26 views
6

¿Cómo hago una llamada a un servicio web desde mi aplicación de panel de teléfono? Encontré dos bibliotecas javascript una de IBM y otra IvanWebService http://wiki.phonegap.com/w/page/43725416/SOAP%20Web%20Service que te permiten hacer esas llamadas pero no pude conseguir que ejecutaran ninguno de mis servicios web. Estoy pasando un enlace wsdl como el enlace del servicio y he actualizado los parámetros del sobre, todavía nada.cómo llamo a un servicio web usando phonegap para android

+1

ver este enlace http://kmithi.blogspot.in/2012/02/callling-web- services-in.html – mithilesh

Respuesta

5
+0

¿Qué sucede si voy con sencha en lugar de jquery o ninguna de esas dos bibliotecas? ¿Hay alguna manera de hacer la llamada solo desde un simple javascript en phonegap? – abs

+0

Algunos rápidos Googling hacen parecer que Sencha no tiene ningún soporte específico para SOAP. Por lo tanto, probablemente pueda hacer la llamada de Ajax al servicio, pero deberá construir y deconstruir los sobres de SOAP manualmente. –

+0

Sí, probablemente podría hacerlo sin ninguna biblioteca JavaScript, pero no sería "simple" Javascript. Sería una masa de llamadas de red feas, expresiones regulares para analizar XML y concatenaciones de cadenas para crear envolventes de SOAP. Es probable que no sea lindo, y a menos que seas realmente bueno en regex, probablemente también sea propenso a errores. Esa es la belleza de jQuery. Hace que JavaScript sea más limpio y más elegante. Incluso si no usara jQuery, probablemente terminaría buscando otras bibliotecas que harían las mismas cosas. –

1
<head> 

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a2/jquery.mobile-1.0a2.min.css" /> 
<script src="http://code.jquery.com/jquery-1.4.4.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.0a2/jquery.mobile-1.0a2.min.js"></script> 

<script type="text/javascript"> 
     $(function() { 

      $("#requestXML").click(function() { 

        $.ajax({ 
         type: "POST", 
         url: "http://YOURSITE/script.php", 
         data: "{}", 
         cache: false, 
         dataType: "xml", 
         success: onSuccess 
        }); 

      }); 

      $("#resultLog").ajaxError(function(event, request, settings, exception) { 
       $("#resultLog").html("Error Calling: " + settings.url + "<br />HTTP Code: " + request.status); 
      }); 

      function onSuccess(data) 
       { alert(data); 
       } 


     }); 

     </script> 

</head> 

botón para llamar al método anterior:

<input id="requestXML" type="button" value="Request XML" /> 
Cuestiones relacionadas