我正在尝试使用PHP Soap通过PHP类使用API,但每次我尝试都会收到此错误:
致命错误:未捕获的SoapFault异常:[Client]函数(“getError”)不是/home4/eleven11/public_html/comtrade.com.mx/testing/facturacion-prueba/Models/clsGenerarFacturaXML中此服务的有效方法.php:151堆栈跟踪:#0 /home4/eleven11/public_html/comtrade.com.mx/testing/facturacion-prueba/Models/clsGenerarFacturaXML.php(151):SoapClient-> __ call('getError',Array)# 1 /home4/eleven11/public_html/comtrade.com.mx/testing/facturacion-prueba/Models/clsGenerarFacturaXML.php(151):SoapClient-> getError()#2 /home4/eleven11/public_html/comtrade.com.mx /testing/facturacion-prueba/Controllers/facturas_controller.php(16):clsGenerarFacturaXML-> timbrar_cfdi('../ XML / prueba.x ...','00001')#home {main}抛入/ home4 /第151行的eleven11 / public_html / comtrade.com.mx / testing / facturacion-prueba / Models / clsGenerarFacturaXML.php
这是我的代码:
public function timbrar_cfdi($ruta, $referencia)
{
//PREPARAMOS LAS PROPIEDADES PARA LLAMAR EL SERVICIO
$usuario = "DEMO130227LA7";
$password = "TJaufp55";
$xml = file_get_contents($ruta);
if ($xml == false) {
return "ERROR";
}
//Instanciamos el servicio
$client = new SoapClient('http://timbrado.facturarenlinea.com/WSTFD.svc?wsdl');
$client->soap_defencoding = 'UTF-8';
//Agregamos una validación
$err = $client->getError();
if ($err) { echo 'Error en Constructor' . $err ; }
//Declaramos los parametros de entrada
$param = array('usuario' => $usuario,'password' => $password,'cadenaXML' => $xml,'referencia' => $referencia);
$result = $client->call('TimbrarCFDI', $param);
//Declaramos que no muestre Warnings, se debe configurar en el PHP.ini
error_reporting(0);
//Validamos la respuesta
if ($client->fault) {
return "FALLIDO";
} else { // Chequea errores
$err = $client->getError();
if ($err) {
return "ERROR";
} else {
$xmlResult = $result->XMLResultado;
$fecha = $result->Timbre->FechaTimbrado;
$uuid = $result->Timbre->UUID;
file_put_contents("../XML/" . $uuid . ".xml", $xmlResult);
return json_encode(array("UUID" => $uuid, "fecha" => $fecha));
}
}
}