Este es el codigo de todo el archivo.
y perdon es la variable de respuesta
La respuesta viene de un web service que hace un timbrado par auna factura electronica.
Código PHP:
Ver original<?php
header ('Content-type: text/html; charset=utf-8'); try {
$filename="20121213024445FacturaA-1_resellado.xml";
/*$output="";
$file = fopen($filename, "r");
while(!feof($file)) {
//read file line by line into variable
$output = $output . fgets($file, 4096);
}
fclose ($file); */
//echo $output;
$XML = new DOMDocument();
$XML->load($filename );
//set_time_limit(60);
/* conexion al web service */
//$client = new SoapClient('https://forcogsa.dyndns.org:8081/WSTimbrado/WSForcogsaService?wsdl',array('trace' => 1));
$client = new SoapClient
('https://dev.facturacfdi.mx:8081/WSTimbrado/WSForcogsaService?wsdl',array('trace' => 1)); /* esto es solo para informativo */
//var_dump($client->__getFunctions());
/* se le pasan los datos de acceso */
$autentica = new Autenticar();
$autentica->usuario = "pruebasWS";
$autentica->contrasena = "pruebasWS";
//var_dump($autentica);
/* se cacha la respuesta de la autenticacion */
$responseAutentica = $client->Autenticar($autentica);
//echo $responseAutentica->return->mensaje . "<br>";
//echo $responseAutentica->return->token . "<br>";
/* se manda el xml a timbrar */
$timbrar = new Timbrar();
$timbrar->cfd = $XML->saveXML();
$timbrar->token = $responseAutentica->return->token;
/* cacha la respuesta */
$responseTimbre = $client->Timbrar($timbrar);
//var_dump($responseTimbre);
$solicitud = $client->__getLastRequest() . "\n";
$respuesta = $client->__getLastResponse() . "\n";
//echo $solicitud."<br />";
echo $respuesta;
/*
$xml_timbrado = fopen("Factura.xml","w");
fwrite($xml_timbrado,$solicitud);
fclose($xml_timbrado);
$timbre = new SimpleXMLElement("Factura.xml",null,true);
$ns = $timbre->getNamespaces(true);
$timbre->registerXPathNamespace('c', $ns['cfdi']);
$timbre->registerXPathNamespace('t', $ns['tfd']);
foreach($timbre->xpath('//t:TimbreFiscalDigital') as $tfd)
{
$selloCFD = "selloCFD: ".$tfd['selloCFD']."<br />";
$fechaTimbrado = "fecha: ".$tfd['FechaTimbrado']."<br />";
$UUID = "UUID: ".$tfd['UUID']."<br />";
$noCertificadoSAT = "CertificadoSat: ".$tfd['noCertificadoSAT']."<br />";
$selloSAT = "selloSat: ".$tfd['selloSAT'];
echo $selloCFD."<br />";
echo $fechaTimbrado."<br />";
echo $UUID."<br />";
echo $noCertificadoSAT."<br />";
echo $selloSAT."<br />";
}
/*
/* solo informativo... muestra el codigo de error en caso de existir y resultados
echo "codigoErr:" . $responseTimbre->return->codigo . "<br>";
echo $responseTimbre->return->mensaje . "<br>";
echo $responseTimbre->return->cfdi. "<br>";
//print_r($responseTimbre);
*/
} catch (SoapFault $e) {
print("Auth Error:::: $e");
}
class Autenticar{
public $usuario;
public $contraseña;
}
class Timbrar{
public $cfd;
public $token;
}
?>