[PHP-users 35009] Re: Zend_XmlRpc_ClientをSSLで使う

eijun eijun @ hal.ne.jp
2010年 2月 18日 (木) 02:14:18 JST


こんばんは、北村です。

自己レスです。

自信ないですが、Zend_XmlRpc_Clientについて、下記のコードでSSL通信でき
たっぽいです。

require_once 'Zend/XmlRpc/Client.php';
require_once 'Zend/Http/Client/Adapter/Curl.php';

//http_Clientのパラメータ(自己認証です)
$options = array('adapter' => 'Zend_Http_Client_Adapter_Curl',
                 'curloptions' => array(CURLOPT_FOLLOWLOCATION => true,
                                  CURLOPT_SSL_VERIFYPEER => false,
                                  CURLOPT_SSL_VERIFYHOST => false));

//http_Clientのインスタンス
$client = new Zend_Http_Client('https://localhost/foo', $options);

//XmlRpc_Clientのインスタンス
※引数を空欄にするとエラーになるのでnullをセット
$rpcClient = new Zend_XmlRpc_Client(null);

//XmlRpcクライアントにhttp_Clientをセット
$rpcClient->setHttpClient($client);

$vals = array('user1',
              'password',
              array(128,9,5,67,9));

//リモートメソッドをコール
var_dump($rpcClient->call('someclass.somefunction', $vals));

これで、エラーなく実行できましたし、パケットをキャプチャしたら、SSLが効
いていたようです。

Zend_XmlRpc_Clientのインスタンス化で引数にnullをセットしないとエラーに
なってしまうのが、とても気持ち悪いというか、これで正解なのかなあと不安に
なります。

間違いを指摘してくださる方、大歓迎です。

そういえば、
Zend Framework 徹底マスター 藤野 真吾

とてもいい感じです。

> (環境)
> PHP 5.2.6(XAMPP 1.6.8)
> ZendFramework-1.9.7
> 
> SSLでZend_XmlRpc_Clientを使いたいのですが、ネット検索してもなかなか参考
> になるサイトが見つかりません。
> 
> どなたか、ヒント/ポインタを示していただけませんか。


PHP-users メーリングリストの案内