On Tue, Sep 04, 2001 at 08:20:22AM +0200, Micael Ericsson (QIN) wrote:
> If I throw a SOAPException (from server side) containing special characters
> like '<' I receive following error (on client side):
> Exception: java.lang.Exception:SOAPException= SOAP-ENV:Client, Parsing error,
> response was:
> The content of elements must consist of well-formed character data or markup.
>
> When examine the XML message I found that '<' is not parsed into '<' as it
> is when sending requests and getting non-error responds. XML:
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/1999/XMLSchema"><SOAP-ENV:Body><SOAP-ENV:Fault>
> <faultcode>1</faultcode>
> <faultstring>Supplied system id is not a registred system. systemType:2<3,
> registredSystemID:false</faultstring>
> <faultactor>/soap/servlet/rpcrouter</faultactor></SOAP-ENV:Fault>
> </SOAP-ENV:Body></SOAP-ENV:Envelope>
>
> Putting ![CDATA[ and ] around all text in SOAPException solved this problem.
>
> I am using tomcat 3.2.3 and apache soap 2.2. Anyone else experience the same
>problem? Other solution?
I had the same problem: I had a Server-Error and give the error-message containing "<
... >"
to the SOAPException, resulting in the behaviour you described.
Quick solution: Filter the message text.
Michael
--
Michael Konietzka
Development UNIX
Schlund + Partner AG
http://www.schlund.de/