使用@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
的水平?