使用@WebService
和@WebMethod
定义的JAX-WS服务利用JAXB将XML转换为Java对象。对于大多数用例来说,这太棒了!然而,我需要与一些使用Axis 1编写的遗留代码进行接口,这些代码专门在org.w3c.dom.Element
对象上运行 - 换句话说,只要我获得它们,我就会有效地将参数直接转换回XML,这似乎非常低效。是否可以在不使用@WebServiceProvider的情况下访问JAX-WS中的原始请求XML?
因此,我一直在寻找一种方法来接收和返回来自JAX-WS服务的原始XML,不管是字符串还是对象。
我已经能够得到我所需要使用@WebServiceProvider
贯彻Provider<Source>
接口的功能,但这种感觉有点太低级了那种我正在做的事情 - 我不能使用@WebMethod
来轻松设置路由;相反,我必须从WebServiceContext
得到PATH_INFO
,并摆弄字符串以获取我需要的信息。
所以我的问题是,有没有办法在JAX-WS服务中使用原始XML(有效切除JAXB)而不降低到@WebServiceProvider
的水平?