【问题标题】:How to use Moxy XPath annotated beans in web services?如何在 Web 服务中使用 Moxy XPath 注释 bean?
【发布时间】:2012-11-20 13:58:23
【问题描述】:

我有一颗豆子

@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 上

【问题讨论】:

    标签: java web-services jakarta-ee jax-ws moxy


    【解决方案1】:

    JAX-WS (JSR-224)JAXB (JSR-222) 实现之间没有基于标准的集成点。这意味着对 EclipseLink MOXy 的支持,因为 JAXB 提供程序依赖于 JAX-WS 实现(请参阅下面的注释)。

    JAX-WS 提供者 - 参考实现

    对 MOXy 的支持直接融入了 JAX-WS 参考实现。这意味着任何利用足够新版本的 JAX-WS RI 的环境都应该能够利用 MOXy 作为 JAXB 提供程序。我需要了解更多关于执行此操作的细节。

    其他 JAX-WS 提供者

    您可以利用javax.xml.ws.Provider 接口代替传统的服务端点接口。 Provider 使您可以访问实际的 XML 消息。通过访问 XML 消息,您可以使用 MOXy 直接与其交互。

    注意

    您可以在以下环境中创建利用 MOXy 扩展注释的传统 JAX-WS Web 服务:

    【讨论】:

    • 在我的基于 JAX WS RI 的客户端中,我需要使用 Eclipse MOXY 的 XmlCDATA 注释来注释我的 bean 属性之一。问题是 JAX WS 运行时没有使用 MOXy,尽管在 jaxb.properties 中正确指定了 JAXBContextFactory。整个问题出在旧的 com.sun.xml.ws:jaxws-tools 包中以生成类。我有 2.1.4,然后升级到 2.2.7。我还必须添加 com.sun.xml.ws:jaxws-eclipselink-plugin:2.2.7 包,它可以使用我的 XmlCDATA 注释。
    猜你喜欢
    • 2015-11-30
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多