SSL を介して XML-RPC を実行しようとしている非常に単純な Ruby コードがいくつかあります。
require 'xmlrpc/client'
require 'pp'
server = XMLRPC::Client.new2("https://%s:%d/" % [ 'api.ultradns.net', 8755 ])
pp server.call2('UDNS_OpenConnection', 'sponsor', 'username', 'password')
問題は、常に次の EOFError 例外が発生することです。
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/protocol.rb:135:in `sysread': end of file reached (EOFError)
そのため、POST を実行した後、何も返されないようです。興味深いことに、これは HTTPS ポート (またはその逆) で HTTP 接続を確立しようとした場合に予想される動作であり、プロトコルを変更すると、実際にはまったく同じ例外が発生します。私が見たものはすべて、URL に「https://」を使用するだけで SSL を有効にできることを示していますが、何か見落としているのではないかと思い始めています。
RPC で使用している資格情報は作成されていますが、少なくとも XML エラー ページが返されることを期待しています ( https://api.ultradns.net:8755/にウェブブラウザ)。このコードを OSX と Linux で実行してみましたが、まったく同じ結果が得られたので、ここで何か間違ったことをしていると結論付けなければなりません。Ruby で XML-RPC over SSL を実行した例はありますか?