SOAP4RでHTTPPROXYの指定をする

soap4rを使ってSOAPクライアントをrailsでやる際に、HTTPプロキシを使うには
WSDLドライバーのhttpproxyメソッドを使う。

    # WSDLドライバー取得
    soapdriver = SOAP::WSDLDriverFactory.new(wsdlpath).create_rpc_driver
    # HTTPプロキシの設定
    siteproxy = "http://localhost:8080"
    soapdriver.httpproxy=(siteproxy)

HTTPプロキシの設定を解除するにはnilをセットしてあげればいいみたい。

    soapdriver.httpproxy=(nil)

Rubricksの場合はsystem設定でプロキシが指定できるんで、
その値(rubricks_configsテーブル)を取得して動作を分けるようにしてみた。
(12/10追記)rubricks_configsについては、getメソッドを使うとカレントスレッドで保持しているやつを取れるのでDBアクセスしなくて済むとのこと。

    # Rubricksのconfigからproxy設定を取得
    #siteproxy = RubricksConfig.find_by_name("site_proxy")
    siteproxy = RubricksConfig.get("site_proxy")
    unless siteproxy.value.blank?
      soapdriver.httpproxy=(siteproxy.value)
    else
      soapdriver.httpproxy=(nil)
    end