
Uso de SOAPCLIENT
Publicado por Luis Moises (4 intervenciones) el 07/07/2016 21:23:31
Buenas a tod@s,
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
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?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>
- apiRedsysWs.rar(1,6 KB)
Valora esta pregunta


0