3.2.4. Web Services 的修改


3.2.4.1. Web Services 的修改

JBoss EAP 6 包含了对部署 JAX-WS Web 服务器端点的支持。这种支持是 JBossWS 提供的。关于 Web Service 的更多信息,请参考 https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/ 上的《部署指南》里的《JAX-WS Web Services》章节。
JBossWS 4 包含了下列可能影响移植的修改。
JBossWS API 项目的修改
JBossWS 4 里引用了 SPI 和公用组件。下表列出了可能影响应用程序移植的 API 和软件包修改。
Expand
表 3.7. Size Log Handler 属性
旧的 JAR 旧的软件包 新的 JAR 新的软件包
JBossWS SPI org.jboss.wsf.spi.annotation.* JBossWS API org.jboss.ws.api.annotation.*
JBossWS SPI org.jboss.wsf.spi.binding.* JBossWS API org.jboss.ws.api.binding.*
JBossWS SPI org.jboss.wsf.spi.management.recording.* JBossWS API org.jboss.ws.api.monitoring.*
JBossWS SPI org.jboss.wsf.spi.tools.* JBossWS API org.jboss.ws.api.tools.*
JBossWS SPI org.jboss.wsf.spi.tools.ant.* JBossWS API org.jboss.ws.tools.ant.*
JBossWS SPI org.jboss.wsf.spi.tools.cmd.* JBossWS API org.jboss.ws.tools.cmd.*
JBossWS SPI org.jboss.wsf.spi.util.ServiceLoader JBossWS API org.jboss.ws.api.util.ServiceLoader
JBossWS Common org.jboss.wsf.common.* JBossWS API org.jboss.ws.common.*
JBossWS Common org.jboss.wsf.common.handler.* JBossWS API org.jboss.ws.api.handler.*
JBossWS Common org.jboss.wsf.common.addressing.* JBossWS API org.jboss.ws.api.addressing.*
JBossWS Common org.jboss.wsf.common.DOMUtils JBossWS API org.jboss.ws.api.util.DOMUtils
JBossWS Native org.jboss.ws.annotation.EndpointConfig JBossWS API org.jboss.ws.api.annotation.EndpointConfig
@WebContext Annotation
在 JBossWS 3.4.x 里,这个注解在 JBossWS SPI 项目被打包为 org.jboss.wsf.spi.annotation.WebContext。在 JBossWS 4.0 里,这个注解被移至 JBossWS API 项目里的 org.jboss.ws.api.annotation.WebContext。如果您的应用程序包含了过时的依赖关系,您必须替换源代码里的导入和依赖关系并根据新的 JBossWS API JAR 重新编译。
本版里对于不向后兼容的属性也有改动。String[] virtualHosts 属性已经改为 String virtualHost。在 JBoss EAP 6 里,对于每个部署您可以只指定一个虚拟主机。如果多个 web service 使用了 @WebContext 注解,对于部署归档里定义的所有端点,virtualHost 值都必须是相等的。
端点配置
JBossWS 4.0 提供了 JBoss Web Service 栈和多数 Apache CXF 项目模块的集成。集成层允许使用标准 webservice API,包括 JAX-WS。它也允许在 JBoss EAP 6 容器上使用 Apache CXF 的高级功能而无需复杂的配置或设置。
JBoss EAP 6 的域配置里的 webservice 子系统包含了预定义的端点配置。您也可以定义自己的其他端点配置。@org.jboss.ws.api.annotation.EndpointConfig 注解被用来引用给定的端点配置。
关于配置 JBoss 服务器里 webservice 端点的更多信息,请参考 https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/ 上的《JBoss EAP 6 开发指南》里的『JAX-WS Web Services』章节。
jboss-webservices.xml 部署描述符
JBossWS 4.0 引入了新的部署描述符来配置 web service。jboss-webservices.xml 文件为给定的部署提供了其他信息并部分地替换了过时的 jboss.xml 文件。
对于 EJB webservice 部署,jboss-webservices.xml 描述符文件期望的位置是 META-INF/ 目录。对于 POJO 和 WAR 里捆绑的EJB webservice 端点,jboss-webservices.xml 文件期望的位置是META-INF/ 目录。
下面是 jboss-webservices.xml 描述符文件和描述元素的表的例子。
<webservices>
    <context-root>foo<context-root>    
    <config-name>Standard WSSecurity Endpoint</config-name>
    <config-file>META-INF/custom.xml</config-file>
    <property>
        <name>prop.name</name>
        <value>prop.value</value>
    </property>
    <port-component>
        <ejb-name>TestService</ejb-name>
        <port-component-name>TestServicePort</port-component-name>
        <port-component-uri>/*</port-component-uri>
        <auth-method>BASIC</auth-method>
        <transport-guarantee>NONE</transport-guarantee>
        <secure-wsdl-access>true</secure-wsdl-access>
    </port-component>
    <webservice-description>
        <webservice-description-name>TestService</webservice-description-name>
        <wsdl-publish-location>file:///bar/foo.wsdl</wsdl-publish-location>
    </webservice-description>
</webservices>

Copy to Clipboard Toggle word wrap
Expand
表 3.8. jboss-webservice.xml 文件元素描述
元素名称 描述
context-root
用来自定义 webservices 部署的根上下文。
config-name
config-file
用来关联端点部署和给定的端点配置。端点配置是在引用的配置文件或域配置的 webservices 子系统里指定的。
property
用来设置简单属性的名称/值对以配置 webservice 的栈行为。
port-component
用来自定义 EJB 端点目标 URI 以配置和安全性相关的属性。
webservice-description
用来自定义或覆盖 webservice WSDL 的发布位置。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat