【发布时间】:2017-01-19 10:11:22
【问题描述】:
使用@WebService 和@WebMethod 定义的JAX-WS 服务利用JAXB 将XML 转换为Java 对象。对于大多数用例来说,这很棒!
但是,我需要与一些使用 Axis 1 编写的遗留代码进行交互,这些代码专门在 org.w3c.dom.Element 对象上运行 - 换句话说,我只需在获得参数后立即将它们直接转换回 XML ,这似乎非常低效。
因此,我一直在寻找一种从 JAX-WS 服务接收和返回原始 XML 的方法,无论是作为字符串还是作为对象。
我已经能够通过使用@WebServiceProvider 和实现Provider<Source> 接口来获得我需要的功能,但这对于我正在做的事情来说感觉有点太低级了——我不能使用@WebMethod轻松设置路由;相反,我必须从WebServiceContext 获取PATH_INFO 并摆弄字符串以获取我需要的信息。
所以我的问题是,有没有一种方法可以在 JAX-WS 服务中使用原始 XML(有效地删除 JAXB)而不下降到 @WebServiceProvider 级别?
【问题讨论】:
标签: java xml web-services jaxb jax-ws