Savon 2.x.x can access a Web Service without a WSDL. I inspected the WSDL you provided with SoapUI and used the output to create the following code snipped.
It doesn't work because I obviously haven't the correct credentials but it should give you the idea where to continue.
#!ruby
#
gem 'savon', '~> 2.0'
require 'savon'
client = Savon.client(
endpoint: 'http://services.carsolize.com/BookingServices/DynamicDataService.svc',
soap_action: "http://tempuri.org/IDynamicDataService/ServiceRequest",
namespace: 'http://tempuri.org/',
convert_request_keys_to: :camelcase,
env_namespace: :soapenv,
namespace_identifier: :tem,
log: true,
log_level: :debug,
pretty_print_xml: true
)
response = client.call(:service_request,
message: {
'tem:rqst' => {
'BookAsUser' => 'nobody',
'Credentials' => {
'Password' => 'super secret',
'UserName' => 'JoeSixpack'
},
'Request' => {
'ClientIP' => '192.168.142.857'
},
'RequestType' => 'reservation',
'SessionID' => 'AAAAAAAAAAAAAABBBBBBBBBBBBB',
'TypeOfService' => 'speedy'
}
}
)
p response.to_hash