J'essaie d'utiliser du savon pour appeler un service Web mais je reçois toujours l'erreur suivante "Attention: SoapClient :: SoapClient(): Impossible de définir le fichier de clé privée ".PHP SoapClient Avertissement: SoapClient :: SoapClient(): Impossible de définir le fichier de clé privée
Je suppose que l'erreur vient du fait que le fichier .cer que j'utilise n'inclut que la clé publique et pas de clé privée. Mais je ne suis pas sûr d'une autre façon d'utiliser le fichier .cer. Si je n'utilise pas le fichier .cer je peux me connecter très bien et je suis en mesure d'appeler et de recevoir des résultats lorsque j'utilise la méthode __getFunctions()
. Cependant, quand j'essaye d'employer d'autres méthodes j'ai besoin d'être autorisé et cela mène au problème. Voici le code simple que j'essaie d'utiliser. S'il vous plaît laissez-moi savoir si plus d'informations sont nécessaires.
ini_set('display_errors',1);
error_reporting(E_ALL);
ini_set('soap.wsdl_cache_enabled', 0);
$username = 'user';
$password = 'pass';
$ns = 'GatewayEDI.WebServices';
$auth = array();
$auth['User'] = new SOAPVar($username, XSD_STRING, null, null, null, $ns);
$auth['Password'] = new SOAPVar($password, XSD_STRING, null, null, null, $ns);
$headerBody = new SOAPVar($auth, SOAP_ENC_OBJECT);
$header = new SOAPHeader($ns, 'AuthSOAPHeader', $headerBody);
$client=new SoapClient('https://url/Service.asmx?WSDL',
array(
'local_cert' => 'file.cer'
));
$client->__setSOAPHeaders(array($header));
$param = array(
'X12Input'=>"testing",
"GediPayerID"=>"52",
"ResponseDataType"=>"Xml"
);
//this leads to private key error
echo $result = $client->DoInquiryByX12Data($param,$header);
Je n'ai pas de clé privée pour ce certificat Puis-je créer ma propre clé privée et l'ajouter au certificat? – IHateSoap
Nope – Owen
, ils prétendent qu'il n'y a pas de clé privée, mais je ne vois pas comment cela fonctionnerait sans une clé privée. Si j'essaie de retirer le certificat Je ne l'utilise pas du tout, j'ai une erreur d'authentification. Êtes-vous en train de dire que vous ne savez pas comment cela pourrait fonctionner sans clé privée? – IHateSoap