Soy nuevo tanto en PHP como en el uso de SOAP.
Aquí le presento mi código para acceder a una tpv.
El caso es que me dice: SOAP-ERROR: Parsing WSDL: Couldn't load from y no encuentro el error.
El error, según mis pocos conocimientos de PHP se encuentra en esta línea: $client=new SoapClient($wsdl_string); //,$soap_args);
Tanto si la pongo como esta o si la pongo: $client=new SoapClient($wsdl_string,$soap_args);
Aquí le pongo el script.
Nota: 'redsysHMAC256_API_WS_PHP_5.2.0/apiRedsysWs.php es una libreria que se puede bajar, pero aquí esta comprimida.
Gracias mil
---
Código PHP :
<?php
include_once 'redsysHMAC256_API_WS_PHP_5.2.0/apiRedsysWs.php';
if(isset($_POST["btnPagar"]))
{
$miObj=new RedsysAPIWs;
$clavecomercioprueba='sq7HjrUOBfKmC576ILgskD5srU870gJ7';
$CodigoPersonal='123456';
$Notarjeta='4548 8120 4940 0004';
$Fechacaducidad='12/20';
$Order='34567';
$signaturever='HMAC_SHA256_V1';
$Codigocvc2='123';
$Tipomoneda='978';
$Totalimporte='1.00';
$Nocomercio='999008881';
$Noterminal='001';
$tipotrans='A';
$DesctipoPago='PAGO';
$Notimestamp=date("Ymd His");
$codigoclave='9rayito1953';
$finalcadena = "$DesctipoPago$Notarjeta$Fechacaducidad$Totalimporte$Tipomoneda$Nocomercio$Noterminal$Notimestamp$codigoclave";
$Lafirma = sha1($finalcadena);
$xml = new DomDocument('1.0', 'UTF-8');
$datosentrada = $xml->createElement('DATOSENTRADA');
$datosentrada = $xml->appendChild($datosentrada);
$dsamount = $xml->createElement('DS_MERCHANT_AMOUNT',$Totalimporte);
$dsamount= $datosentrada->appendChild($dsamount);
$dsorder = $xml->createElement('DS_MERCHANT_ORDER',$Order);
$dsorder= $datosentrada->appendChild($dsorder);
$dscode = $xml->createElement('DS_MERCHANT_MERCHANTCODE',$Nocomercio);
$dscode= $datosentrada->appendChild($dscode);
$dscurrency = $xml->createElement('DS_MERCHANT_CURRENCY',$Tipomoneda);
$dscurrency= $datosentrada->appendChild($dscurrency);
$dspan = $xml->createElement('DS_MERCHANT_PAN',$Notarjeta);
$dspan= $datosentrada->appendChild($dspan);
$dscvv2 = $xml->createElement('DS_MERCHANT_CVV2',$Codigocvc2);
$dscvv2= $datosentrada->appendChild($dscvv2);
$dstipotrans = $xml->createElement('DS_MERCHANT_TRANSACTIONTYPE',$tipotrans);
$dstipotrans= $datosentrada->appendChild($dstipotrans);
$dsterminal = $xml->createElement('DS_MERCHANT_TERMINAL',$Noterminal);
$dsterminal= $datosentrada->appendChild($dsterminal);
$dsfechaexp = $xml->createElement('DS_MERCHANT_EXPIRYDATE',$Fechacaducidad);
$dsfechaexp= $datosentrada->appendChild($dsfechaexp);
$xml->formatOutput = true;
$el_xml = $xml->saveXML();
$xml->save('operaciones2.xml');
ini_set("default_socket_timeout", 6000);
ini_set("soap.wsdl_cache_enabled", "0");
ini_set("soap.wsdl_cache", "0");
ini_set("display_errors","On");
ini_set("track_errors","On");
ini_set("soap.wsdl_cache_enabled","0");
$doc=new DomDocument();
$doc->load('operaciones2.xml');
$file = '/xampp/htdocs/tpv/operaciones2.xml';
if (file_exists($file)) {
$xml = simplexml_load_file($file);
//print_r($xml);
} else {
exit('Error Cargando Archivo... '.$file);
}
//$wsdl = trim(file_get_contents('https://sis-t.redsys.es:25443/sis/operaciones'));
$wsdl_string = trim(file_get_contents('https://sis-t.redsys.es:25443/sis/services/SerClsWSEntrada?wsdl'));
$soap_args = array(
'soap_version'=>SOAP_1_2,
'exceptions'=>true,
'trace'=>1,
'cache_wsdl'=>WSDL_CACHE_NONE);
try
{
$client=new SoapClient($wsdl_string); //,$soap_args);
$resultado=$client ->trataPeticion($xml);
print_r($resultado);
}
catch (Exception $e){
echo $e ->getMessage();
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>TPV </title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<form class="form-horizontal" method="post">
<button type="submit" name="btnPagar" id="btnPagar">Pagar</button>
<footer>
<p>Luis Moisés Rojas P 2016</p>
</footer>
</form>
</body>
</html> 