1
我試圖連接到位於防火牆後面的DMZ中的SOAP API,使用Ruby/Rack應用程序和Savon gem for SOAP以及HTTPI gem請求/響應。Heroku上的主機文件
SOAP API定義了一個wsdl文件,指向防火牆後面的內部域名(例如「http:// randomhostname/path/to/wsdl」),當我將ip定義爲主機名時,在我的機器上的本地/ etc/hosts文件中(1.1.1.1 randomhostname)。
我遇到的問題是我的應用程序的生產環境在Heroku上運行。 如何將我嘗試連接的服務器的外部IP映射到Heroku上的wsdl或我的應用程序中定義的主機名?
這個工作,我實際上也可以通過在Savon配置設置中指定服務器IP作爲http.proxy進行連接,但我認爲這並不理想。 – Incomethax
我沒有將WDSL版本用於生產代碼,因爲每次創建Savon :: Client時都會分析WSDL。我認爲這是一個性能劣勢,但我沒有真正衡量它。 –