【问题标题】:How configure JAX-WS for the WLP v 16.0.0.4如何为 WLP v 16.0.0.4 配置 JAX-WS
【发布时间】:2017-04-07 16:22:08
【问题描述】:

我使用 jaxws-2.2 功能,需要知道如何为 WLP v 16.0.0.4 配置 JAX-WS。

WLP 为 JAX-WS 使用 Apache CXF 实现。 Apache CXF JAX-WS 配置包括接下来的两个步骤。

  1. 在web.xml中创建servlet类映射(org.apache.cxf.transport.servlet.CXFServlet)

  2. 在 cxf-servlet.xml 中创建 JAX-WS 端点配置 (jaxws:endpoint)

也许还有其他方法可以在 Liberty 上配置 JAX-WS Apache CXF 实现,但是,我不知道。我发现的所有与 Spring 相关的 cxf-servlet.xml 示例:

  1. https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.1/html/Deploying_into_a_Web_Server/DeployCxf.html

  2. Apache CXF http://cxf.apache.org/docs/jax-ws-configuration.html

  3. IBM https://www.ibm.com/developerworks/websphere/library/techarticles/1001_thaker/1001_thaker.html(请参阅附件 pdf 和示例应用程序)。

我找不到没有 Spring(和任何其他第 3 方)依赖项的纯 Java EE 应用程序的 cxf-servlet.xml 示例。

亲切的问候,

亚历山大

【问题讨论】:

  • 我不相信您描述的任何一个步骤都是必需的,因为它们不是 Java EE 规范的要求。您是否尝试过配置 jaxws-2.2 并使用 JAX-WS 注释?

标签: cxf jax-ws websphere-liberty


【解决方案1】:

将 jax-ws 功能添加到 server.xml 后,最简单的方法是创建一个包含类的 war 文件,就像创建 servlet 一样,但该类上有一个 @WebService 注释而不是@WebServlet。公共方法将成为您的 Web 服务操作。部署 war 文件时将自动生成 WSDL。通过查看 Liberty 的 messages.log 文件,可能可以检测到它的确切 URL。 Web.xml 是可选的。

【讨论】:

    【解决方案2】:

    处理 WLP(此处为 cxf)中提供的 JAX-WS 实现是一个大错误...
    您不需要特定的“配置”,只需使用具有大量注释来定义服务、操作、端点和参数映射 (JAX-B) 等的 JAX-WS 规范。您不需要任何配置文件
    简而言之,只需创建一个 POJO,用@WebService 注释类,用@WebMethod 注释方法
    你会在网上找到很多教程。来自 Oracle 的一位是 here
    检查官方jee6/jee7 javadoc中javax.jwsjavax.jws.soap包中的类
    REST 服务的原理相同,即普通注释的 POJO 类..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-18
      • 2012-12-07
      • 1970-01-01
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多