Java 使用Spring的SOAP服务。转义特殊字符

Java 使用Spring的SOAP服务。转义特殊字符,java,soap,soapui,spring-ws,Java,Soap,Soapui,Spring Ws,我有一个使用Spring框架开发的SOAP web服务。每当请求包含一些无效数据时,我需要显示错误消息,如下所示 Error occurred. Invalid data for <Field Name>. 如何在SOAP UI中显示适当的”中时,如果该字符串未标记CDATA节的结尾,则必须使用“”或字符引用进行转义 因此,您需要在错误字符串中转义左尖括号: Error occurred. No value passed for the field &lt;name>

我有一个使用Spring框架开发的SOAP web服务。每当请求包含一些无效数据时,我需要显示错误消息,如下所示

Error occurred. Invalid data for <Field Name>.
如何在SOAP UI中显示适当的<符号?我试过CDATA。但不确定接收者如何使用CDATA处理请求

SOAPUI中的CDATA消息如下所示

Error occurred. No value passed for the field <![CDATA[<]]name>.
出现
错误。没有为字段传递值。

XML规范规定:

符号和字符(&)和左尖括号()可以用字符串“”表示,为了兼容,当它出现在内容中的字符串“]]>”中时,如果该字符串未标记CDATA节的结尾,则必须使用“”或字符引用进行转义

因此,您需要在错误字符串中转义左尖括号:

Error occurred. No value passed for the field &lt;name>.
或者将整个错误字符串封装在CDATA节中:

<![CDATA[Error occurred. No value passed for the field <name>.]]>
]]>

有关更多信息,请参见

如果我的消息是“]]>,那么接收者/客户端是否会正确处理该消息?此外,转义意味着什么?我尝试了一些类似“Assert.notNull(name)”的操作,出现了错误。没有为字段&;name>);传递值”,但仍然没有得到我想要的。
Error occurred. No value passed for the field <![CDATA[<]]name>.
Error occurred. No value passed for the field &lt;name>.
<![CDATA[Error occurred. No value passed for the field <name>.]]>