<?php if (isset($_POST['key'])) { ini_set('soap.wsdl_cache_enabled', FALSE); $requestString = file_get_contents(__DIR__.'/soap-request.xml'); $client = new SoapClient(__DIR__.'/soap.wsdl'); $result = $client->__soapCall('procesaNotificacionSIS', [ 'XML' => $requestString ]); $xml = new SimpleXMLElement($result); $key = $_POST['key']; $start = strpos($result, '<Response'); $end = strrpos($result, '</Response>'); $shaString = substr($result, $start, $end - $start + 11); $shaHash = sha1($shaString.$key); $isValid = $xml->{'Signature'} == $shaHash; } else { $key = ''; $result = ''; $shaHash = ''; $isValid = FALSE; } ?> <html> <head> <title> TPV SOAP Client </title> </head> <body> <form action="?" method="post"> <label>Key:</label> <input type="password" value="<?=$key?>" name="key"/> <input type="submit"/> </form> <h2>Response</h2> <p> <pre><?=htmlentities($result)?></pre> </p> <h2>Signature</h2> <p> Calculated: <?=$shaHash?> </p> <p> Valid: <input type="checkbox" <?=($isValid ? 'checked' : '')?>/> </p> </body> </html>