require "net/http"
uri = URI.parse('https://your_url.com')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.ca_path='/etc/pki/tls/certs/'
http.ca_file='/etc/pki/tls/certs/YOUR_CERT_CHAIN_FILE'
http.cert = OpenSSL::X509::Certificate.new(File.read("YOUR_CERT)_FILE"))
http.key = OpenSSL::PKey::RSA.new(File.read("YOUR_KEY_FILE"))
#SSLv3 is cracked, and often not allowed
http.ssl_version = :TLSv1_2
#### This is IMPORTANT
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
#Crete the POST request
request = Net::HTTP::Post.new(uri.request_uri)
request.add_field 'X_REMOTE_USER', 'soap_remote_user'
request.add_field 'Accept', '*'
request.add_field 'SOAPAction', 'soap_action'
request.body = request_payload
#Get Response
response = http.request(request)
#Review Response
puts response.body
URLでエンコードされたクエリパラメータを既にお持ちの場合は、 。 Mineは 'Content-Type'ヘッダを設定し、クエリHashを変換します。 – henrikhodne
@dvyjones:ええ、あなたの解決策もクールです:) –
{parama = value、paramb = value2}タイプ情報を入力用に使うことはできますか(それをシリアル化するにはどうすればよいですか)試してみました。私はシリアル化する方法が分からないことを除いては? – Akshat