考虑这个用Java实现的网络服务:
使用 Apache CXF(版本为 2.5.10 和 2.7.18),此操作将返回 SOAP 包裹(省略)。
@WebMethod(operationName = "test1")
@WebResult(name = "test1", targetNamespace = "http://test.example.org/")
public String test1()
{
return "foo\u0000bar"; // "foo" + NUL + "bar"
}
使用 Apache CXF(版本为 2.5.10 和 2.7.18),此操作将返回 SOAP 包裹(省略)。
<ns2:test1>foo[NULL byte here]bar</ns2:test1>
这是无效的XML。
其他Web服务库是否以不同方式处理NULL(和其他在XML中无效的字符)?正确的标准处理方式是什么?