eclipse里的web项目,用到了spring3和CXF,直接打成war包发布到weblogic,会报oracle.xml.parser.schema.XSDException: Duplicated definition for: 'identifiedType'的错误。该死的包冲突,本来应该用xercesImpl的jar包来解析spring的application-context.xml,但优先使用了weblogic自带的xmlparserv2的jar包。
在eclipse里新建一个Enterprise Application Project,在选择Java EE Module Dependencies的时候选择之前的web项目。在项目EarContent的目录META-INF下有一个weblogic-application.xml,修改成如下:
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-application
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-application"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_5.xsd http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.3/weblogic-application.xsd">
<!--weblogic-version:10.3.6 -->
<wls:xml>
<wls:parser-factory>
<wls:saxparser-factory>com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl</wls:saxparser-factory>
<wls:document-builder-factory>com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl</wls:document-builder-factory>
<wls:transformer-factory>com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl</wls:transformer-factory>
</wls:parser-factory>
</wls:xml>
<wls:application-param>
<wls:param-name>webapp.encoding.default</wls:param-name>
<wls:param-value>UTF-8</wls:param-value>
</wls:application-param>
<wls:classloader-structure>
<wls:module-ref>
<wls:module-uri>bpmservice.war</wls:module-uri>
</wls:module-ref>
</wls:classloader-structure>
<wls:component-factory-class-name>org.springframework.jee.interfaces.SpringComponentFactory</wls:component-factory-class-name>
<wls:prefer-application-packages>
<wls:package-name>javax.wsdl.*</wls:package-name>
<wls:package-name>javax.jws.*</wls:package-name>
<wls:package-name>org.apache.xerces.*</wls:package-name>
</wls:prefer-application-packages>
</wls:weblogic-application>
让weblogic优先选择javax.wsdl.*、javax.jws.*和org.apache.xerces.*这些包,指定对xml解析用到的类(不设置也没关系),让之前的war包加入EAP的类加载结构。
编辑EAR项目属性,在Deployment Assembly里加入wsdl4j、xmlParseAPIs和xercesImpl这三个jar包。
通过EAR项目打出ear包,就可以成功部署到weblogic 11g了。
分享到:
相关推荐
CXF是一个开源的服务框架,它允许开发人员创建和部署多种类型的Web服务,包括SOAP和RESTful。CXF提供了丰富的功能,如WS-*协议支持、Java到WSDL的代码生成、强大的调试工具等。使用CXF,我们可以快速地创建服务接口...
本文将详细解析如何将CXF项目部署到WebLogic Server 9.2,提供一个终极解决方案。 首先,`CXFServiceServlet.java`是CXF中的核心组件之一,它是一个Servlet,用于处理SOAP和RESTful请求。这个类是服务的入口点,当...
3. **Spring与CXF的集成**:Spring和CXF的结合使得Web服务的开发、部署和调用更加简单。Spring可以管理CXF的生命周期,而CXF则可以利用Spring的配置和依赖注入能力。通过Spring的ApplicationContext,我们可以声明式...
在Java世界中,Apache CXF是一个广泛使用的开源框架,用于构建和部署Web服务。它提供了丰富的功能,包括SOAP、RESTful API的支持,以及与Spring框架的深度集成。本篇文章将深入探讨CXF与Spring的结合,以及如何创建...
现在,你已经成功地将Spring3和CXF整合在一起,创建了一个只包含服务端的Web服务项目。客户端可以通过WSDL地址(通常是`http://yourserver/context-path/services/MyWebService?wsdl`)自动生成对应的Java客户端代码...
Spring作为一个全面的轻量级应用框架,提供了强大的依赖注入、AOP(面向切面编程)等功能,而CXF则是一个优秀的服务端和客户端Web服务实现框架,支持多种Web服务标准,如SOAP、RESTful等。本文将详细介绍如何将...
在IT行业中,Spring框架和Apache CXF是两个非常...总的来说,"spring4+cxf3"的整合是现代企业级应用开发中的常见实践,它结合了Spring的强大功能和CXF的Web服务处理能力,为开发高质量、高性能的服务提供了坚实的基础。
Apache CXF提供了强大的支持以实现在多种应用服务器上的部署,包括WebSphere Application Server、WebLogic Server和JBoss Application Server等。针对不同的应用服务器环境,CXF提供了详细的配置指导和最佳实践。...
标题 "mybatis3 spring3 cxf" 描述的是一个整合了MyBatis 3、Spring 3和CXF的项目。这个项目可能是一个基于Java的Web服务应用,利用这三个技术来构建后端服务和数据访问层。下面我们将深入探讨这三个框架以及它们在...
在IT行业中,Spring框架是Java企业级应用开发的首选,而CXF则是一个流行的开源服务框架,用于构建和消费Web服务。"spring 3.0.5 集成cxf"这一主题聚焦于如何将Spring 3.0.5版本与Apache CXF整合,以实现高效、灵活的...
CXF是一个开源框架,主要用于构建和部署SOAP和RESTful Web服务,Spring则是一个广泛应用的Java企业级开发框架,而Maven是项目管理和集成工具,负责构建、依赖管理和项目信息管理。本实例将展示如何利用这三者来搭建...
在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而CXF和Spring都是Java生态系统中的关键组件。本文将深入探讨如何将CXF与Spring框架整合,以构建高效且灵活的Web服务解决方案。 首先,让我们了解CXF。...
CXF,全称为CXF CXF (Continued eXtensible Framework),是一个开源的Java服务框架,用于构建和部署Web服务。CXF集成了多种Web服务标准,如SOAP、RESTful API、WS-* 规范等,使得开发者能够灵活地选择适合的通信方式...
Apache CXF是一个开源的Java框架,主要用于构建和部署SOAP和RESTful Web服务,而Spring则是一个广泛使用的应用框架,提供了依赖注入和面向切面编程等功能。下面我们将按照给出的目录逐步解析整合过程。 一、准备...
【标题】"CXF 编写 WebServer DEMO" 是一个使用Apache CXF框架构建Web服务的示例项目。Apache CXF是一个流行的开源框架,它允许开发者创建和部署SOAP和RESTful Web服务。这个DEMO旨在展示如何利用CXF轻松地搭建一个...
"spring3+cxf2.7 整合jar包"的标题表明,这个压缩包包含的是Spring 3.x版本与CXF 2.7版本整合所需的一系列jar包。这样的整合使得开发者能够在SpringMVC环境中方便地使用CXF来实现服务的发布和调用,提高应用的灵活性...
在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而Cxf则是一个强大的服务导向架构(SOA)工具集,主要用于构建和开发Web服务。本示例将探讨如何通过Spring集成Cxf来暴露Web服务,帮助开发者更好地...
通过Spring的配置管理和CXF的服务实现,开发者可以快速地构建和部署符合标准的SOAP或RESTful服务,同时享受Spring框架带来的便利和强大功能。在实际项目中,这通常是企业级应用和服务化架构的重要组成部分。
在下载的"spring3+cxf2.7 整合jar包"中,可能包含了Spring 3.x版本和CXF 2.7版本的库文件,以及相关的示例配置文件,这些可以帮助开发者快速搭建和运行一个Spring+CXF的环境。使用时,开发者需要根据自己的项目需求...
这个"Spring整合CXF demo"项目提供了一个直观的例子,帮助开发者理解如何在Spring环境中配置和使用CXF服务。 ### 1. Spring框架介绍 Spring是一个开源的Java平台,它提供了全面的应用程序开发框架,简化了Java EE...