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>