Estoy intentando realizar una conexión vía nuSOAP, mediante https enviando un XML certificado.
Adjunto código:
Código PHP:
define("HOME_DIR", "url_home_dir");
define("SERVER", "url_server");
define("SOAP_ACTION","url_soap_action");
$nusoap = "0.9.5";
require_once('lib/nusoap.'.$nusoap.'/nusoap.php');
$sslkey ="lib/key.pem";
$sslcert = "lib/certificate.pem";
$passphrase= "XXX";
$useCURL = 0;
$set_wsdl=(isset($_GET['wsdl'])?'?wsdl':"");
$wsdl = new wsdl(SERVER.$set_wsdl);
$client = new soapclient($wsdl.$set_wsdl, (!empty($set_wsdl)));
$client->setUseCurl(true);
$client->useHTTPPersistentConnection();
$client->decode_utf8 = 0;
$client->soap_defencoding = 'UTF-8';
$client->soap_version = '1.2';
$client->authtype = 'certificate';
$client->setCredentials("","","certificate",
array(
"sslcertfile" => HOME_DIR.$sslcert,
"sslkeyfile" => HOME_DIR.$sslkey,
//"certpassword" => "", //OPTIONAL
"passphrase" => $passphrase,
"verifypeer" => 0, //OPTIONAL
"verifyhost" => 1 //OPTIONAL
)
);
$req = file_get_contents('fichero_de_envio.xml');
$p_Regr = $client->send($req, SOAP_ACTION);
$err = $client->getError();
if ($err)
echo "<br><br>Error al enviar: ". $client->getError();
else
echo "<br><br>Peticion enviada: ".$client->request;
¿Algún buen samaritano que sepa como solucionar este problema?
Gracias de antemano.