0

以下のコードを実行すると、エラーERROR: Invalid HTTPS client certificate pathが発生します。私はcertificate.pemとtest.wsdlへのパスが正しいことを確認しました。そのようなエラーの理由は何でしょうか?

$wsdl = 'http://localhost:10088/test/test.wsdl';

$options = array(
    'local_cert' => 'http://localhost:10088/test/certificate.pem',
    'soap_version' => SOAP_1_1
);


try {
    $client = new Zend_Soap_Client($wsdl, $options);
    $result = $client->getLastResponse();
    print_r($result);
} catch (SoapFault $s) {
    die('ERROR: [' . $s->faultcode . '] ' . $s->faultstring);
} catch (Exception $e) {
    die('ERROR: ' . $e->getMessage());
}
4

1 に答える 1

0

オプションの値local_certは、URL ではなくファイル パスである必要があります。のコードを次のように変更します$options

$options = array(
    'local_cert' => '/path_where_cert_is_stored/certificate.pem',
    'soap_version' => SOAP_1_1
);

Zend_Soap_Clientのドキュメントは完全ではないため、詳細についてはPHP: SOAP - Manualを参照しZend_Soap_Clientてください。私の意見では、可能な引数はPHP: SoapClient::SoapClient - Manualでよりよく説明されています(特に例を見てください)。

于 2012-07-25T21:47:22.793 に答える