Estimados, estoy intentando realizar una aplicación movil híbrida, y al momento de llamar al web service por jquery, me da error de conexión de red, estuve investigando y la mayoria indica a lo mismo que es por seguridad, si alguien a estado desarrollando aplicaciones moviles o tiene mas información sobre como llamar a un WSDL, por favor ayudarme se los agradecera. saludos.
yo he estado trabajando en una web con jquery y no me da ningun error, aunque claro yo estoy utilizando el diseño de la misma en html y los datos los proceso en jquery, quisas por ahi va tu problema
quisas si nos muestras el codigo que te esta dando error podamos ayudarte, porque mis codigos son casi especificos para la empresa que trabajo asi que no te los puedo compartir y tampoco se que tipo de codigo necesitas
este es el codigo para que me puedas ayudar. function ajax() { alert('entramos a la funcion.'); var data = '<p1:reqPersonal xmlns1="http://xxxxxxxxx/esb/process/asdt"><personal><rut>1231231231</rut><dv>K</dv><tip>4567</tip></personal></p1:reqPersonal>'; alert(data); var url = "http://xxxxxxxx/process/asdt/personal/post"; $.ajax({ url:url, dataType:"text/xml", data:data, success: function(response){alert(response)}, error:function(req,estado,jqXHR){console.log(req);console.log(estado);console.log(jqXHR);} }); } ajax();
aps.... si no me equivoco el data procesa array y tu le estas pasando un dato fijo intenta utilizarlo asi var data = { 'parametro' : 'aqui los parametros' } el parametro datatype es para los datos que te retorna, es decir le estas diciendo que te va a retornar datos de tipo text/xml, yo uso json y siempre que utilizo json tengo que establecerlo en esa parte, adicionalmente te sugioero que coloques type:'post' o get y al otro lado lo recibes como dato enviado desde un formulario asi lo ago yo, prueba y nos comentas te dejo el manual de ajax jquery http://api.jquery.com/jquery.ajax/
lo que pasa es que el wsdl no lo genero yo, solo me dan la URL y debo extraer los datos, cuando lo hago por PHP y la libreria nusoap, lo obtengo bien y sin problemas, porque lo estoy haciendo en Jquery, porque necesito invocarlo de una aplicación movil, sería bueno como tienes mas experiencia en esto me puedas ayudar un poco mas que darme Tips puede que este pidiendo mucho pero no e logrado que el web service me retorne algo por jquery.
realice los cambios que me indicaste pero me da el siguiente error en consola.REGISTRO: [object Object] REGISTRO: error REGISTRO: No Transport este es el codigo, partiendo por lo que me dijiste que cambiara. var data = "<asdt:reqPersonal><personal><rut>'.$run.'</rut><dv>'.$dv.'</dv><tip>'.$tips.'</tip></personal></asdt:reqPersonal"; alert(data); var url = "http://xxxxxxxxxx/process/asdt/personal"; $.ajax({ url:url, dataType:"xml", type:'POST', data:{'parametro':data}, success: function(response){alert(response)}, error:function(req,estado,jqXHR){console.log(req);console.log(estado);console.log(jqXHR);} });
haber explicame un poco, tu lo envias a la url de wsdl cuando lo haces en php no tienes problemas pero por jquery si tienes problemas??? si es asi crea un archivo php donde te realize el proceso y luego llamas los datos con jquery de ese php
data:{'parametro':data}, Estimado en esta linea lo que esta haciendo es asignar la variable data a la variable parámetro por ende la que lleva el valor es parámetro y el web service no creo que este esperando esa variable, otra cosa, lo mas probable es que el webservice consuma las variables con GET y no con POST aunque algunas reconocen ambas, pero no esta demás revisar debería ser así data:data, agregar también contentType: "application/xml; charset=utf-8",
cavoso, efectivamente desde php funciona sin problemas, pero me encuentro realizando una aplicación movil, la cual funciona localmente, por ende, no tengo como interpretar php. Mi idea no es llamar a una página del servidor y que la página haga la tarea y me devuelva el xml, la idea es llamar directamente al wsdl sin ningun otro intermediario que Jquery. los errores mas comunes que me aparecen: 1. Access-Control-Allow-Origin 2. REGISTRO: No Transport nunca llega al success, siempre da error.