SOAP error: Cannot map <class> to SOAP/OM


Ruby 1.8.7
soap 1.5.8
Linux & Mac

I’m getting an odd error from the soap library while attempting to
connect to a Sympa 5 server in one of our production apps:

A SOAP::Mapping::MappingError occurred in mail_list#display_list:

Cannot map Array to SOAP/OM.
encodedregistry.rb:356:in `_obj2soap’

The line in question is this:

soap = @stub.authenticateAndRun(@email, @connection, ‘lists’, [nil])

Here @stub is the SOAP::RPC::Driver object, @email is the postmaster’s
email address, and @connection is the result of @stub.login.

Replacing [nil] with just nil doesn’t work either. Then it complains
that it cannot map NilClass to SOAP/OM.

What’s odd is that I can’t duplicate this with a standalone program,
and it seems to work fine on our preview boxes. It’s only on our
production boxes that this occurs.

Here’s a standalone script that works fine, and simulates what we’re

require ‘soap/rpc/driver’

server = ‘
email = ‘[email protected]
passwd = ‘XXXXXX’
nspace = ‘urn:sympasoap’

soap =, nspace)

soap.add_method(‘login’, ‘email’, ‘password’)
cookie = soap.login(email, passwd)

Get all lists

p soap.authenticateAndRun(email, cookie, ‘lists’, nil)

Get test list

p soap.authenticateAndRun(email, cookie, ‘lists’, ‘testlist’)

Any ideas what could be causing this?



For more on Sympa: