Accessing SOAP service

I am trying to post a transaction to a SOAP service using the following:

require 'soap/wsdlDriver'

class CitymainServiceV2

  def post_policy(*args)     soap = wsdl.create_rpc_driver     soap.wiredump_file_base = "soap-log.txt"     soap.wiredump_dev = STDERR     response = soap.CreateCustomer(*args)     soap.reset_stream     response   end

  private     def wsdl       SOAP::WSDLDriverFactory.new('https://citymaintrak.com/ citymainservicev2/citymainservicev2.asmx?WSDL')     end end

The api documentation on soap/wsdl is not at all useful and I am really struggling to find a relevant tutorial. I was hoping to be able to use this library without having to go into a lot of research. The webservice is on .net and I would like to know how to accomplish the following:

- I can connect to CreateCustomer but how do I specify MessageName="AddCustomerPrimDataType". - for the post data, currently passed into the class a *args, what am I meant to be sending in, a fully-constructed xml string using builder? Perhaps a hash with appropriate symbol keys? - is there a better way?

Thanks,

O.