un proveedor de gps nos dispuso un WS para ser consumido a través de nuestro hosting.
lo unico que he podido hacer es consumir el WS con un ajax que me encontre en la web al cual lo adapte y logre rescatar algunos datos. La problematica que tengo es que tengo algunos problemas de Access-control-Expose-Headers
adjunto mi codigo, la verdad necesito si alguien me puede ayudar a consumir este WS solo con PHP y alguna libreria facil de entender.
saludos!
Código PHP:
Ver original
<?php include "../config.php"; ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Calling Web Service from jQuery</title> <style> html, body { height: 100%; margin: 0; padding: 0; } #map { height: 100%; } </style> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script> <script src="https://maps.googleapis.com/maps/api/js?signed_in=true"></script> <?php $variablephp = "PHJlcXVlc3Q+PGxvZ2luPmFzZXNvcmlhczwvbG9naW4+DQo8cGFzc3dvcmQ+NDE2c2VydmljaW9zPC9wYXNzd29yZD4NCjxwaHlzaWQ+MzU3NjY2MDUxMzM3NTE0PC9waHlzaWQ+PC9yZXF1ZXN0Pg=="; ?> <script type="text/javascript"> var variablejs = "<?php echo $variablephp; ?>" ; $(document).ready(function () { var wsUrl = "http://416.fleetport.net/Monitoreo.asmx"; var l1 = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"><soapenv:Header/><soapenv:Body><tem:getLastPositionById><tem:request>' + variablejs +'</tem:request></tem:getLastPositionById></soapenv:Body></soapenv:Envelope>'; var soapRequest =l1 ; $.ajax({ type: "POST", url: wsUrl, contentType: "text/xml", dataType: "xml", crossDomain: true, data: soapRequest, success: processSuccess, error: processError }); }); function processSuccess(data, status, req) { if (status == "success") // $("#response").text($(req.responseXML).find("getLastPositionByIdResult").text()); var value = ($(req.responseXML).find("patente").text()); $("#patente").val(value); $("#patente2").val(value); lat = ($(req.responseXML).find("latitud").text()); $("#latitud").val(lat); lng = ($(req.responseXML).find("longitud").text()); $("#longitud").val(lng); var value = ($(req.responseXML).find("serieGSM").text()); $("#imei").val(value); var value = ($(req.responseXML).find("calle").text()); $("#calle2").val(value); var value = ($(req.responseXML).find("velocidad").text()); $("#velocidad").val(value); var value = ($(req.responseXML).find("fechaHoraSistema").text()); $("#fecha").val(value); } function processError(data, status, req) { alert(req.responseText + " " + status); } </script> </head> <body> <input id="btnCallWebService" value="Call web service" type="button" /> <form method="post" action="../registro_GPS.php"> <input type="text" id="patente" name="patente" value=""/> <br> <input type="text" id="latitud" name="latitud"value=""/> <br> <input type="text" id="longitud" name="longitud" value=""/> <br> <input type="text" id="velocidad" name="velocidad"value=""/> <br> <input type="text" id="calle2" name="calle2" value=""/> <br> <input type="text" id="imei" name="imei"value=""/> <br> <input type="text" id="fecha"name="fecha" value=""/> <button type="submit" class="btn btn-primary">Enviar</button> </form> <form id="form1" method="post" action="gpsUNO.php" role="form"> <input type="text" id="patente2" name="patente2" value=""/> <button type="submit" class="btn btn-primary">Ver MAPA</button> </form> <?php $patente = $_POST['patente2']; echo $patente; $consulta = $db->consulta("select * from GPS where patente = '$patente'" ); if($db->num_rows($consulta)>0){ while($resultados3 = $db->fetch_array($consulta)){ ?> <center> <iframe width="90%" height="400px" frameborder="0" style="border:0" src="https://www.google.com/maps/embed/v1/directions?key=AIzaSyBl7XAviMyBkMHVHh54ab3lePOiqJr596c &origin=<?php echo $resultados3['latitud']?>,<?php echo $resultados3['longitud']?> &destination=<?php echo $resultados2['comuna']?>,<?php echo $resultados2['calle']?>,<?php echo $resultados2['numero']?>, chile " > </iframe> </center> <?php } } ?> </body> </html>