使用Spring的JavaSOAP服务。转义特殊字符
我有一个使用Spring框架开发的SOAP web服务。每当请求包含一些无效数据时,我需要显示错误消息,如下所示
Error occurred. Invalid data for <Field Name>.
因此,我的名称验证代码如下所示。当名称字段没有传递值时,此错误将作为响应发送
Assert.notNull(name, "Error occurred. No value passed for the field <name>. ");
所以我所期望的结果是
Error occurred. No value passed for the field <name>.
但是soapui中的响应如下所示
Error occurred. No value passed for the field <name>.
如何显示正确的<;soapui中的符号?我试过CDATA。但不确定接收者如何使用CDATA处理请求
SOAPUI中的CDATA消息如下所示
Error occurred. No value passed for the field <![CDATA[<]]name>.
# 1 楼答案
XML规范规定:
因此,您需要在错误字符串中转义左尖括号:
或者将整个错误字符串封装在CDATA区域中:
有关更多信息,请参见http://www.w3.org/TR/xml/#syntax