Ver Mensaje Individual
  #1  
Antiguo 07-04-2025
Jariverom Jariverom is offline
Registrado
 
Registrado: abr 2025
Posts: 5
Reputación: 0
Jariverom Va por buen camino
Funcionamiento de SOAP y error con wsdl

Buenas, estoy desarrollando una aplicación en php para verifactu y tengo algunos xml que he conseguido probar desde el entorno de pruebas que proporciona la AEAT pero ahora estoy intentando hacer el soap desde mi aplicación y me da un error al intentar cargar entidades del mismo.
El error que me da es el siguiente:
Código:
"SOAP-ERROR: Parsing WSDL: Couldn't load from 'h_t_t_p_s://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl' : failed to load external entity "h_t_t_p_s://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl"
"

y mi código esta así ahora mismo:
Código:
    
$xml = cargarHistorico($anio, $mes);

    // Definiciones proporcionadas
    $wsdlUrl = 'h_t_t_p_s://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl';

    $certificatePath = RUTA_CERTIFICADO_VERIFACTU;
    $certificatePassword = RUTA_PASSWD_CERTIFICADO_VERIFACTU;

    // Verificar si el WSDL es accesible
    $wsdlContent = @file_get_contents($wsdlUrl);
    if ($wsdlContent === false) {
        echo "No se puede acceder al WSDL. Verifica la URL y la configuración del servidor.";
        return;
    } else {
        echo "WSDL cargado correctamente.\n";
    }

    try {
        // Crear el cliente SOAP con las configuraciones proporcionadas
        $client = new SoapClient($wsdlUrl, [  // Nombre del servicio
            'local_cert' => $certificatePath,
            'passphrase' => $certificatePassword,
            'trace' => 1,
            'exceptions' => 1
        ]);
    } catch (SoapFault $th) {
        $mensajeError = $th->getMessage();
        echo "Error al crear el cliente SOAP: " . $th->getMessage();
        return;
    }

    try {
        // Llamada al método SOAP
        $response = $client->__soapCall('EnviarFactura', [['facturaXML' => $xml]]);
        return $response;
    } catch (SoapFault $fault) {
        echo "Error en la llamada SOAP: " . $fault->getMessage();
        return;
    }
El error me da al crear el cliente de soap
Responder Con Cita