Hi,

I've got some weird string problem that in the end causes an error in 
SOAP4R / ActionWebService. I have a simple (SOAP) structure with some 
string attributes. The value assigned to this structure are read from a 
file. The structure itself is returned in an array by a SOAP method. 
This results in the following exception:

   Exception: Cannot map Array to SOAP/OM.

After some debugging I found out that this exception is caused by an 
earlier exception:

   Exception: Cannot map String to SOAP/OM.

After some more debugging I found out that the following string (and 
other strings read from the file on disk!) cause the exception:

   epointment#1481

Seems like an ordinary string to me. But when I print this string to the 
console, copy it and assign it directly to one of the attributes of the 
structure (instead of reading it from the file) the problem disappears.

If I reassign the value of the structure attribute using:

   obj.attr = "#{obj.attr}"

The problem also magically disappears.

When I compare the string from file and the string in my program using 
the following code:

   value = 'epointment#1481'
   p value == file_value # => true
   p value <=> file_value # => 0

They appear to be equal. I also checked if the string from file is 
frozen or not, but it isn't.

It might be some weird characterset problem, but if I look at the 
characters in the string they look like ordinary ASCII characters which 
are available in (all?) character sets. And even if they weren't why 
does my comparison return true then?

Does anybody have an idea what might be the problem here? And why SOAP4R 
might be choking on this?

Regards,

Peter