2012-11-20 22 views
2

我有一顆豆如何在Web服務中使用Moxy XPath註釋的bean?

@XmlRootElement(name = "alpha") 
public class MyBean { 
    private String thetaValue; 

    @XmlPath("beta/theta/text()") 
    public String getThetaValue() { 
     return this.thetaValue; 
    } 

    public void setThetaValue(String thetaValue) { 
     this.thetaValue = thetaValue; 
    } 
} 

這是使用的EclipseLink MOXY JAXB註釋。我想使用相同的bean和Xpath來託管一個Web服務。我該怎麼做呢?該Web服務將託管在tomcat 6或7上

回答

3

JAX-WS (JSR-224)JAXB (JSR-222)實現之間沒有基於標準的集成點。這意味着支持EclipseLink MOXy,因爲JAXB提供程序依賴於JAX-WS實現(請參閱下面的註釋)。

JAX-WS提供 - 參考實現的莫西

支持烘焙右轉入JAX-WS參考實現。這意味着任何利用足夠新的JAX-WS RI版本的環境都應該能夠利用MOXy作爲JAXB提供者。我需要詳細瞭解具體情況。

其他JAX-WS提供商

你可以充分利用javax.xml.ws.Provider界面代替傳統的服務端點接口。 Provider可讓您訪問實際的XML消息。通過訪問XML消息,您可以使用MOXy直接與其交互。

注意

您可以創建傳統的JAX-WS Web服務,充分利用莫西在以下環境中擴展註釋:

+1

在我的基於JAX WS RI客戶端我需要註釋與Eclipse MOXY的XmlCDATA註解我bean的屬性之一。問題在於JAX WS運行時不使用MOXy,儘管JAXBContextFactory在jaxb.properties中正確指定。整個問題出現在舊的com.sun.xml.ws:jaxws-tools包中以生成類。我有2.1.4,然後升級到2.2.7。此外,我不得不添加com.sun.xml.ws:jaxws-eclipselink-plugin:2.2.7包,它使用了我的XmlCDATA註釋。 –