こんにちは、私の悪い英語のために申し訳ありません。パスワード付きのSSL証明書付きの石鹸サービス(PHP)
パスワードで保護された証明書を使用してSOAPサービスにアクセスする必要があります。私はphpで新しく(codeigniter 2のPHP 5.4で)、私のためにはうまくいかないオプションをいくつか試しました。
オプションA:私は、このオプションを試してみました
const WSDL = 'https://sedeapl.dgt.gob.es:8080/WS_IEST_COMP/descargaArchivoMicrodatosService?wsdl';
const XMLNS = 'https://sedeapl.dgt.gob.es:8080/WS_IEST_COMP/descargaArchivoMicrodatosService';
const LOCAL_CERT_PASSWD = 'HERE I HAVE THE PASS OF THE CERT';
const LOCAL_CERT = './certificados/Certificados.p12';
private $client;
:
私はアクセスに定数を持って$this->client = new SoapClient(self::WSDL, array(
"trace" => 1,
"exceptions" => true,
"local_cert" => self::LOCAL_CERT,
"uri" => "urn:xmethods-delayed-quotes",
"style" => SOAP_RPC,
"use" => SOAP_ENCODED,
"soap_version" => SOAP_1_2 ,
"location" => self::XMLNS
)
);
オプションB:私が持っている
$this->$client = new SoapClient(self::WSDL, array('local_cert' => self::LOCAL_CERT));
passwをどのように追加するか考えないord。これらのソリューションは私がここでstackoverflowで見つけたものです。どちらも、私は同じエラーがあります:
SoapClient :: SoapClient():ラッパー "https"を見つけることができませんでした。
const LOCAL_CERT = 'certificados/Certificados.p12';
const LOCAL_CERT = 'Certificados.p12';
const LOCAL_CERT = './certificados/Certificados.p12';
誰もが私が何ができるかについての考えを持っている:
私は、証明書のそれらのルートを試してみましたphp.iniの
で "拡張子= php_openssl.dllを" uncomentedています。どうもありがとうございました!
あなたはどのようなOSを使うのですか? がこのパス正しいサービスにアクセスするためのコードで のproyect ソースファイル アプリケーション certificados Certificados.pem コントローラ コントローラー: –