> When you use a Hash as a parameter, you need to start from a parameter > name. > > result = driver.searchFree( > {:RequestHeader => {:Map24ID => "1"}}, > {:MapSearchFreeRequest => {:SearchText => "London, UK"}} > ) > > Generating stub files with wsdl2ruby.rb should be easier to use for this > kind of service which has complex request. Thanks for your response I really appreciate it. I tried your modification, however I still see the following SOAP Request being generated: <?xml version="1.0" encoding="utf-8" ?> <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <n1:searchFree xmlns:n1="urn:Map24Geocoder51" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <RequestHeader xsi:nil="true"></RequestHeader> <MapSearchFreeRequest xsi:nil="true"></MapSearchFreeRequest> </n1:searchFree> </env:Body> </env:Envelope> Why are the RequestHeader and MapSearchFreeRequest xsi:nil attributes true: should they not be filled with whatever I pass in the call driver.searchFree? I have used the SOAP and Driver Generator before for a simpler request for a different service and it worked perfectly. Does the WSDLDriverFactory and the create_rpc_driver method not always work for complex WSDLs?? Thanks again in advance :) -- Posted via http://www.ruby-forum.com/.