That helps. From the output, I was able to tell that the soap action was not
being set so instead of add_method, I now call
oapProxy.add_method_with_soapaction('ContactNew', NAMESPACE + 'ContactNew')

I'm getting the right response back from the web service when I call
ContactNew, but I'm unable to set the FirstName property on the object
returned from the call. Below is the server response after the call to
ContactNew

<?xml version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><ContactNewResponse
xmlns="http://inovaware.com/prism/"><ContactNewResult><ContactKey
xsi:nil="true" /><ContactID /><NamePrefix /><NameTitle /><FirstName
/><LastName /><NameSuffix /><Pronunciation /><JobTitle /><Company
/><AddressLine1 /><AddressLine2 /><City /><MailRegion /><MailCode /><Country
/><WorkNumber /><FAXNumber /><HomeNumber /><MobileNumber /><PagerNumber
/><EMailAddress /><BirthDate xsi:nil="true" /><Login /><Password
/><ModifyCount>0</ModifyCount></ContactNewResult></ContactNewResponse></soap
:Body></soap:Envelope>

And this is the call that fails:
contact = soapProxy.ContactNew
contact.FirstName = "TestFromRuby"

with the following error:
undefined method `FirstName=' for #<SOAP::Mapping::Object:0x3809a70>
-----Original Message-----
From: NAKAMURA, Hiroshi [mailto:nakahiro / sarion.co.jp] 
Sent: Wednesday, October 26, 2005 9:02 PM
To: ruby-talk ML
Subject: Re: Trouble creating a SOAP client

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Wes Shaddix wrote:
> I'm trying to create a simple SOAP client in Ruby and up to this point
have
> been unsuccessful. Here is my code and the output. I a new to Ruby so if
> there is anything else I can offer to get more assistance let me know.

Can I see a wiredump of the request?

> require 'soap/rpc/driver'

> class CustomerController < ApplicationController
>             def save_customer
>                         soapProxy = SOAP::RPC::Driver.new(ENDPOINT,
> NAMESPACE)
>                         soapProxy.add_method('ContactNew')
>                         soapProxy.add_method('ContactSave', 'contact')

soapProxy.wiredump_dev = STDERR

Please add the above line here.  Though I don't know where I get STDERR
outputs in Rails environment...

Regards,
// NaHi
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)

iD8DBQFDYCcQf6b33ts2dPkRAsgYAKDEuMQcKTq9B8N2evMRIavH1opEtgCgmZAC
xzQ1AZGf6oPRv+qownkdruM=
=35we
-----END PGP SIGNATURE-----