0 0

项目引进CXF之后导致当前用的web service接口用不了!20

当前项目开发web service接口是基于jdk 1.6+jboss 5.1.2开发。

由于最近引进cxf 2.2.9之后,之前项目已经发布且在生产上用的web service接口无法访问,但是新开发的web service却能正常使用。

具体报错信息如下:
02:05:11,561 INFO [[/BP]] Marking servlet AxaPolicyService as unavailable
02:05:11,561 ERROR [[AxaPolicyService]] Allocate exception for servlet AxaPolicyService
java.lang.ClassCastException: com.fndsoft.insurance.ws.AxaPolicyServiceImpl cannot be cast to javax.servlet.Servlet
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1006)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:777)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74)
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:599)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
at java.lang.Thread.run(Thread.java:619)


web.xml配置信息如下:
< ?xml version="1.0" encoding="UTF-8"?>
< web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>BP</display-name>
<!-- Spring ApplicationContext配置文件的路径.可使用通配符,多个路径用逗号分隔此参数用于后面的Spring-Context loader -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicant.spring.xml,
classpath*:application-context.spring.xml,
classpath*:inpayment.spring.xml,
classpath*:login.spring.xml,
classpath*:match.spring.xml,
classpath*:payment.spring.xml,
classpath*:query.spring.xml,
classpath*:sysadmin.spring.xml,
classpath*:invoice.spring.xml,
classpath*:bjbeans.spring.xml,
classpath*:invoicemanage.spring.xml,
classpath*:businesssettlement.spring.xml,
classpath*:bankplatform.spring.xml,
classpath*:bfPlatform.spring.xml,
classpath*:supplement.spring.xml,
classpath*:ws/datahub_mm_ws.spring.xml,
</param-value>
< /context-param>
 
<!-- 控制页面请求的filter -->
<filter>
<filter-name>ForwardFilter</filter-name>
<filter-class>com.fndsoft.ies4.autoclaim.common.filter.ForwardFilter</filter-class>
<init-param>
<param-name>TIMEOUTURL</param-name><param-value>/ies4flow/main/timeOut.jsp</param-value>
</init-param>
<init-param>
<param-name>LOGINPAGEURL</param-name><param-value>/ies4flow/main/login.jsp</param-value>
</init-param>
<init-param>
<param-name>MAINVIEWURL</param-name><param-value>/ies4flow/workspace/workspace.jsp</param-value>
</init-param>
<init-param>
<param-name>TASKDELIVER</param-name><param-value>/ies4flow/task/deliver.jsp</param-value>
</init-param>
<init-param>
<param-name>GIVENRULDELIVER</param-name><param-value>/ies4flow/workspace/givenUrlDeliver.jsp</param-value>
</init-param>
<init-param>
<param-name>notCheckURLListStr</param-name>
<param-value>/index.jsp;/ies4flow/index.html;/ies4flow/main/claimmain.html;/ies4flow/main/login.jsp;/ies4flow/main/logout.jsp;/ies4flow/main/timeOut.jsp;/ies4flow/main/checkSession.jsp;/ies4flow/main/showModalLogin.jsp;/ies4flow/sysmanagement/editpass.jsp;/ies4flow/hidden.jsp;/ies4flow/mobileService/bill/login.jsp;/ies4flow/mobileService/bill/loginAction.jsp;/ies4flow/mobileService/loginAction.jsp;ies4flow/main/login.jsp;/ies4flow/main/singleLogin.jsp</param-value>
</init-param>
<init-param>
<param-name>SINGLELOGINPAGEURL</param-name><param-value>/ies4flow/main/singleLogin.jsp</param-value>
</init-param>
<!---end-->
</filter>

<filter-mapping>
<filter-name>ForwardFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>

<!-- 著名 Character Encoding filter -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!--Hibernate Open Session in View Filter-->
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter>
<filter-name>doradofilter</filter-name>
<filter-class>com.bstek.dorado.core.DoradoFilter</filter-class>
</filter>
<filter>
<filter-name>GZIPEncoder</filter-name>
<filter-class>com.bstek.dorado.core.GZIPEncodeFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>doradofilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>GZIPEncoder</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>

<!--Spring ApplicationContext 载入 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Spring 刷新Introspector防止内存泄露 -->
<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>
<servlet>
<servlet-name>doradoservlet</servlet-name>
<servlet-class>com.bstek.dorado.core.DoradoServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>

<!-- web service接口部署jboss用 -->
<servlet>
<servlet-name>AxaPolicyService</servlet-name>
<servlet-class>com.fndsoft.insurance.ws.AxaPolicyServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxaPolicyService</servlet-name>
<url-pattern>/cdmsService</url-pattern>
</servlet-mapping>


<!-- cxf相关servlet 配置 -->
<servlet>
<description>Apache CXF Endpoint</description>
<display-name>cxf</display-name>
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/webservices/*</url-pattern>
</servlet-mapping>


<session-config>
<session-timeout>60</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>http://www.bstek.com/dorado</taglib-uri>
<taglib-location>/WEB-INF/dorado.tld</taglib-location>
</taglib>
</jsp-config>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>

<servlet-mapping>
<servlet-name>LoadFile</servlet-name>
<url-pattern>/LoadFile</url-pattern>
</servlet-mapping>
< /web-app>

2014年2月25日 13:01

3个答案 按时间排序 按投票排序

0 0

jboss本身就自带cxf,我怀疑是否冲突了。如果冲突就不要引入cxf了

2014年2月27日 12:48
0 0

1.com.fndsoft.insurance.ws.AxaPolicyServiceImpl 是否继承了httpservlet
2.查看项目路径是否有多个servlet的jar包或者其他版本不一致的jar包

2014年2月25日 13:56
0 0

02:05:11,561 ERROR [[AxaPolicyService]] Allocate exception for servlet AxaPolicyService
java.lang.ClassCastException: com.fndsoft.insurance.ws.AxaPolicyServiceImpl cannot be cast to javax.servlet.Servlet

这个异常很明显了AxaPolicyServiceImpl 有问题

2014年2月25日 13:53

相关推荐

    CXF框架应用在Web项目中

    Ⅰ)开发web service业务接口,该接口用@WebService修饰; Ⅱ)开发web service业务接口的实现类,也要用@WebService修饰; Ⅲ)使用EndPoint类的静态方法publish()来发布web service。 2、客户端 Ⅰ)调用CXF...

    SpringBoot+mybatis+CXF开发web service接口.rar

    在本项目中,我们主要探讨如何使用SpringBoot、MyBatis和CXF框架来开发Web Service接口,并且数据库选用MySQL。这是一个完整的后端服务开发流程,涵盖了从数据存储到服务暴露的所有关键步骤。 首先,SpringBoot是...

    CXF开发Web Service实例demo

    在IT行业中,Web Service是一种基于XML的通信标准,它允许不同的应用程序之间进行数据交换,不受平台或编程语言的限制。Apache CXF是一个流行的开源框架,专门用于构建和部署Web Service。本实例将深入探讨如何使用...

    Apache CXF开发Web Service 开发Web Service之Kick Start

    "Apache CXF开发Web Service - 开发Web Service之Kick Start"的主题意味着我们将深入探讨如何快速入门使用CXF进行Web服务开发。 首先,我们来看一下CXF的主要功能。CXF支持多种Web服务规范,如SOAP、RESTful(基于...

    Apache CXF Web Service Development(源码)

    【标题】中的"Apache CXF Web Service Development"指的是使用Apache CXF框架进行Web服务开发的过程。这通常包括了创建服务接口、实现服务逻辑、配置服务端点、以及发布和调用服务等步骤。源码部分可能包含了示例...

    CXF与web项目服务端整合的例子以及客户端调用详细说明

    在Web项目中整合CXF,可以创建强大的服务端接口,供客户端进行调用。本篇将详细介绍CXF与Web项目的整合过程以及客户端如何调用这些服务。 一、CXF服务端整合 1. 添加依赖:在你的Maven或Gradle项目中,需要添加CXF...

    Spring MVC、CXF、Web Service

    Spring MVC、CXF和Web Service是企业级Java应用开发中的三个关键组件,它们分别在不同的层面上服务于构建高效、可扩展的Web应用程序。 Spring MVC,全称Spring Model View Controller,是Spring框架的一部分,专为...

    CXF Web Service & client

    - **WSDL(Web Service Definition Language)**:在CXF中,你可以基于WSDL文件生成服务端代码,也可以先编写Java接口和服务实现,然后由CXF自动生成WSDL。WSDL定义了服务的接口、消息格式和绑定方式。 - **JAX-WS...

    实战Web Service 之CXF

    实战Web Service 之 CXF 实战Web Service 之 CXF

    CXF Spring Web Service 程序

    在Java世界中,Apache CXF是一个广泛使用的开源框架,用于构建和部署Web服务。它提供了丰富的功能,包括SOAP、RESTful API的支持,以及与Spring框架的深度集成。本篇文章将深入探讨CXF与Spring的结合,以及如何创建...

    xfire开发Web Service接口详解

    本篇文章将深入探讨如何使用XFire来开发Web Service接口,并提供一个初学者友好的教程。 一、XFire简介 XFire(后被集成到Apache CXF项目)是一款轻量级的Java Web服务框架,它提供了快速、简单的方式来创建符合WS-...

    Springboot整合CXF发布Web service和客户端调用(用户和密码验证)

    而Apache CXF则是一个强大的Web服务框架,用于创建和消费Web服务。本教程将详细介绍如何利用Spring Boot与CXF进行集成,以发布Web服务并实现用户和密码验证的客户端调用。 首先,我们需要在Spring Boot项目中引入...

    CXF+spring+restful创建一个web的接口项目源代码

    在本项目中,我们利用Apache CXF、Spring框架和RESTful风格来构建一个Web服务接口。这个源代码示例展示了如何将这三种技术融合在一起,为开发者提供了一种高效、灵活的方式来开发分布式应用程序。 首先,Apache CXF...

    实战Web Service —— 使用Apache CXF开发Web服务的教程

    **实战Web Service —— 使用Apache CXF开发Web服务的教程** Apache CXF是一个开源的Java框架,用于构建和部署Web服务。本教程将带你深入理解如何利用CXF来开发高效、灵活的Web服务。我们将从基础概念开始,逐步...

    用CXF开发SOAP接口

    【标题】"用CXF开发SOAP接口"涉及的是在Java环境中使用Apache CXF框架来创建、实现和消费基于SOAP(Simple Object Access Protocol)的Web服务。SOAP是一种用于交换结构化和类型化的信息的协议,常用于企业级应用...

    CXF 框架实战代码---服务器端WebServices接口

    在本文中,我们将深入探讨Apache CXF框架在创建服务器端Web服务接口中的应用。Apache CXF是一个开源的Java框架,它允许开发者构建和部署SOAP(简单对象访问协议)和RESTful(表述性状态转移)Web服务。CXF以其灵活性...

Global site tag (gtag.js) - Google Analytics