I'm also running into this problem. I'm running on Eclipse 3.4 w/ the WBEJ_plugin 3.2.
Everyon else using this application isn't have a problem saving and the encoder doesn't mess up their SOAP requests, but each time I send, SOAP double-encodes the &, resulting in the error you described. The problem I was running into was then dealing w/ that XML on a return SOAP, where I'm expecting well formed XML, and instead I get &lt;WhateverName>, which Flex reinterprets as <, and not <. I made an ugly hack for that that will just split/join any of those, but if there is a real reason why this is happening, that would be great to find out.
I'm having the exact same problem. I made an ugly hack for any of my xml to just split/join on the <, but this only happened after I let Eclipse dl and install updates...i think that's my mistake, and maybe i'll retrograde, but until then, it's very annoying.
Good to know someone else has the same issue. To work around it, I base64 encode all my params that are XML before call send on the soap request, then Base64 decode in my web service. Base64 encoding it prevents Flex from messing with the XML just before the send. Shouldn't have to do it, but it works and now I don't have to worry about Flex soap doing anything funny with the encoding. This issue seems to arise out of nowhere for me, so I don't want to take any chances.