我的应用程序使用 Wink 和 JDK (1.6) 中内置的 JAXB 提供程序支持 REST API。有时我会收到包含控制字符的 PUT 请求。
就我的应用程序而言,控制字符构成了有效且有意义的输入。但是,应用程序抛出了一个臭名昭著的异常,说它无法消化这些字符:
Message: An invalid XML character (Unicode: 0x13) was found in the element content of the document.]
at org.apache.wink.common.internal.providers.entity.xml.JAXBXmlProvider.readFrom(JAXBXmlProvider.java:107)
at org.apache.wink.server.internal.registry.ServerInjectableFactory$EntityParam.getValue(ServerInjectableFactory.java:190)
at org.apache.wink.common.internal.registry.InjectableFactory.instantiate(InjectableFactory.java:67)
at org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest
可能没有办法告诉 JAXB 提供者忽略这些字符(因为在某些时候我将不得不解析 Xml,并且非法就是非法的......)。我怎样才能使这项工作?有没有办法指示 Rest 客户端在发送这些字符之前对其进行转义?