Weblogic Jaxws部署 - 类不支持JDK1.5

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Weblogic Jaxws部署 - 类不支持JDK1.5相关的知识,希望对你有一定的参考价值。

WebLogic Server版本:10.3.6.0

春季版:3.2.1.RELEASE

Java JDK 1.6

我正在尝试将Spring应用程序部署为WAR,将jaxws用于Weblogic服务器。该应用程序适用于Jetty。但是,当部署(我的意思是开始部署的应用程序)Weblogic发生以下异常时:

Caused By: java.lang.UnsupportedOperationException: This class does not support JDK1.5
        at weblogic.xml.jaxp.RegistryTransformerFactory.setFeature(RegistryTransformerFactory.java:317)
        at com.sun.xml.ws.util.xml.XmlUtil.newTransformerFactory(XmlUtil.java:392)
        at com.sun.xml.ws.util.xml.XmlUtil.newTransformerFactory(XmlUtil.java:400)
        at com.sun.xml.ws.util.xml.XmlUtil.<clinit>(XmlUtil.java:233)
        at org.jvnet.jax_ws_commons.spring.SpringService.getObject(SpringService.java:36

.

Mavel pom.hml

<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>2.2.10</version>
    </dependency>
<dependency>
<groupId>org.jvnet.jax-ws-commons.spring</groupId>
    <artifactId>jaxws-spring</artifactId>
    <version>1.9</version>
</dependency>

weblogic.xml中

<weblogic-web-app>
<context-root>/MyApp</context-root>
  <container-descriptor>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
    <show-archived-real-path-enabled>true</show-archived-real-path-enabled>  
  </container-descriptor>
</weblogic-web-app>
答案

通过更改weblogic.xml来修复它

 <container-descriptor>
    <prefer-web-inf-classes>false</prefer-web-inf-classes>
    <show-archived-real-path-enabled>true</show-archived-real-path-enabled>
    <prefer-application-packages>
        <package-name>com.sun.xml.ws.server.*</package-name>
    </prefer-application-packages>
  </container-descriptor>

在init servlet中(如果使用旧样式),您应该改变获取上下文的方式:

            private static WebApplicationContext context;

            @Override
            public void contextInitialized(ServletContextEvent sce) {

                ServletContext sc = sce.getServletContext(); 
                this.context = WebApplicationContextUtils.getWebApplicationContext(sc);  

                ...
            }

            public static WebApplicationContext getApplicationContext(){
                return context;
            }

这解决了它

以上是关于Weblogic Jaxws部署 - 类不支持JDK1.5的主要内容,如果未能解决你的问题,请参考以下文章

在 weblogic 上部署 play 框架

IDEA debug漏洞第一篇(weblogic,cve-2017-10271)

java:JAXWS 2.0 不支持 Rpc/编码的 wsdls

求教weblogic环境访问https中关于SSL安全认证

Windos Server 2016环境单机环境weblogic12.1.3安装部署

怎样调用java的webservice,wsdl怎样生成java代码