java - weblogic 10.3.1 上的 jaxws 2.1.5 而不是预安装的 jaxws 2.1.1?

标签 java weblogic jax-ws weblogic-10.x

是否可能,如果可能,如何?

最佳答案

实际上,WebLogic 10.3 中捆绑的 JAX-WS 实现基于 JAX-WS RI 2.1.4,如 What's New in WebLogic Server 中所述。 :

The WebLogic Server implementation of JAX-WS is based on the JAX-WS Reference Implementation (RI), Version 2.1.4, and includes enhancements to the tool layer to simplify the building and deployment of JAX-WS services and to ease the migration from JAX-RPC to JAX-WS. The following features and enhancements are available from the JAX-WS RI 2.1.4.

但这只是旁注 :) 现在,回答您的问题,是的,这是可能的。基本上,想法是将所有内容打包为一个 EAR 并提供一个 weblogic-application.xml指定需要从 EAR 而不是从 WebLogic 的默认类加载器加载的 Java 包。为此,请按照下列步骤操作:

  1. 创建一个嵌入您的 war 的 EAR
  2. 在您的 EAR 的 META-INF/weblogic-application.xml 中,放置

    <?xml version="1.0" encoding="UTF-8"?>
    <weblogic-application>
      <application-param>
        <param-name>webapp.encoding.default</param-name>
        <param-value>UTF-8</param-value>
      </application-param>
      <prefer-application-packages>
        <package-name>com.sun.xml.*</package-name>
        <package-name>javax.xml.bind.*</package-name>
        <package-name>javax.jws.*</package-name>
        <package-name>javax.xml.soap.*</package-name>
      </prefer-application-packages>
    </weblogic-application>
    
  3. 将所需的 JAR 放入 WAR 的 WEB-INF/lib 中。

如果 WebLogic 报告类加载问题,您可能必须在 prefer-application-packages 元素下添加更多 Java 包。

关于java - weblogic 10.3.1 上的 jaxws 2.1.5 而不是预安装的 jaxws 2.1.1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1846213/

相关文章:

Java - 如何获取类调用方法

java - 如何合并来自不同服务的 WSDL 和 XSD 的公共(public)部分?

java - 在 DB2 中调用 Java 存储过程时出现错误 -4304

java - Weblogic/Java 不在与 IIS 的相互 SSL 集成中发送客户端证书

java - 我可以在 JAXWS Web 服务方法中将 Hibernate 实体作为返回值返回吗?

java - WSDL 中元素具有相同的名称和不同的类型

java - IntelliJ 和方面

java - ejb-jar.xml : Allowed Methods for container-transaction tag

java - 如何使 Weblogic 11gR2 (10.3.3) FIPS-140 兼容

web-services - jax-ws 关于端点接口(interface)