Buenas.., amigos del foro. necesito su ayuda.!
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>