亲们,这个问题折磨我一天了,实在想不出来什么原因了,给点提示吧。目前项目是struts+spring+ibatis,现在要加上xfire,启动时总报一个错,xfire配置如下:
两个java类:package webservice;public interface HelloWorld {
String sayHelloWorld(String name);
}
package webservice;public class HelloWorldImpl implements HelloWorld {
    public String sayHelloWorld(String name) {
       String helloWorld = "hello," + name;
       return helloWorld;
    }
}applicationContext-xfire.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />

<bean id="helloWorldBean" class="webservice.HelloWorldImpl"/>
<bean name="helloWorldService" class="org.codehaus.xfire.spring.ServiceBean">
<property name="serviceBean" ref="helloWorldBean" />
<property name="serviceClass" value="webservice.HelloWorld" />
<property name="inHandlers">
<list>
<ref bean="addressingHandler" />
</list>
</property>
</bean>
<bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler" /></beans>
web.xml<web-app 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>Portalm</display-name> <!-- Define the basename for a resource bundle for I18N -->
<context-param>
<param-name>
javax.servlet.jsp.jstl.fmt.localizationContext
</param-name>
<param-value>ApplicationResources</param-value>
</context-param>
<!-- Context Configuration locations for Spring XML files -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext-resource.xml
/WEB-INF/applicationContext-dao*.xml
/WEB-INF/applicationContext-service*.xml
/WEB-INF/applicationContext-struts*.xml
/WEB-INF/applicationContext-transaction*.xml
/WEB-INF/applicationContext-security.xml
/WEB-INF/applicationContext-xfire.xml
<!--  
/WEB-INF/applicationContext-quartz.xml
-->
</param-value>
</context-param>
<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>
<filter>
<filter-name>rewriteFilter</filter-name>
<filter-class>
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>log4j</param-value>
</init-param>
</filter> <filter>
<filter-name>securityFilter</filter-name>
<filter-class>
org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>springSecurityFilterChain</param-value>
</init-param>
</filter>
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter>
<filter-name>struts</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter>
<filter-name>requestContextFilter</filter-name>
<filter-class>
org.springframework.web.filter.RequestContextFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>requestContextFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>securityFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>rewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping> <filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.util.IntrospectorCleanupListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener> <servlet>
<servlet-name>xfire</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xfire</servlet-name>
<url-pattern>*.ws</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>xfireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.spring.XFireSpringServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xfireServlet</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping> <session-config>
<session-timeout>-1</session-timeout>
</session-config> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list> <error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
<error-page>
<error-code>400</error-code>
<location>/index.jsp</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/403.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>></web-app>
首先要说明:我新建了一个项目,把这个xfire单独调通了,我觉得是包冲突问题,然后就把原项目里所有的jar包复制到新项目里,xfire也是ok的,实在想不出什么原因了,给点提示吧。帖子太长,我分开贴

解决方案 »

  1.   

    错误如下:错误如下:
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'helloWorldService' defined in ServletContext resource [/WEB-INF/applicationContext-xfire.xml]: Invocation of init method failed; nested exception is java.lang.ClassCastException: $Proxy4
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1336)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:927)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:890)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:448)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
    Caused by: java.lang.ClassCastException: $Proxy4
    at org.codehaus.xfire.spring.ServiceBean.afterPropertiesSet(ServiceBean.java:116)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1367)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1333)
    ... 39 more
    [portal] ERROR [main] [/portalm].listenerStart(3768) | Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'helloWorldService' defined in ServletContext resource [/WEB-INF/applicationContext-xfire.xml]: Invocation of init method failed; nested exception is java.lang.ClassCastException: $Proxy4
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1336)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:927)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:890)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:448)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
    Caused by: java.lang.ClassCastException: $Proxy4
    at org.codehaus.xfire.spring.ServiceBean.afterPropertiesSet(ServiceBean.java:116)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1367)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1333)
    ... 39 more
    2011-5-6 1:54:12 org.apache.catalina.core.StandardContext start
    严重: Error listenerStart
    2011-5-6 1:54:12 org.apache.catalina.core.StandardContext start
    严重: Context [/portalm] startup failed due to previous errors
      

  2.   

    这是所有的jar包,帮看看哪个冲突了:activation-1.1.jar
    aes-1.2.jar
    antlr-2.7.6.jar
    aopalliance-1.0.jar
    asm-1.5.3.jar
    asm-attrs-1.5.3.jar
    aspectjrt-1.6.0.jar
    aspectjweaver-1.6.0.jar
    axis.jar
    backport-util-concurrent-3.1.jar
    c3p0-0.9.0.4.jar
    cglib-2.1_3.jar
    commons-beanutils-1.7.0.jar
    commons-codec-1.3.jar
    commons-collections-3.2.jar
    commons-dbcp-1.2.1.jar
    commons-digester-1.7.jar
    commons-discovery-0.4.jar
    commons-fileupload-1.2.1.jar
    commons-httpclient-3.0.jar
    commons-io-1.3.2.jar
    commons-lang-2.3.jar
    commons-logging-1.1.jar
    commons-net-2.0.jar
    commons-pool-1.2.jar
    displaytag-1.2.jar
    dom4j-1.6.1.jar
    dwr-2.0.1.jar
    ehcache-1.4.1.jar
    filterbuilder.jar
    freeer-2.3.8.jar
    gds-base-coder-1.1.jar
    geronimo-stax-api_1.0_spec-1.0.jar
    hibernate-3.2.6.ga.jar
    hibernate-annotations-3.3.0.ga.jar
    hibernate-commons-annotations-3.3.0.ga.jar
    htmllexer.jar
    htmlparser.jar
    ibatis-2.3.4.726.jar
    ical4j-1.0.jar
    ilwwcm-api-impl.jar
    ilwwcm-api.jar
    ilwwcm-commons-utils.jar
    ilwwcm-commons-version.jar
    ilwwcm-commons-xmlpersistency.jar
    ilwwcm-server.jar
    itext-1.3.jar
    jakarta-oro-2.0.8.jar
    jaxrpc.jar
    jcl104-over-slf4j-1.4.2.jar
    jdom-1.0.jar
    jf-datagrid.jar
    jsonplugin-0.32.jar
    jsr107cache-1.0.jar
    jstl-1.1.2.jar
    jta-1.0.1B.jar
    junit-3.8.1.jar
    jxl.jar
    log4j-1.2.13.jar
    mail-1.4.jar
    mysql-connector-java-5.0.5.jar
    ognl-2.6.11.jar
    ojdbc5.jar
    oscache-2.3.jar
    persistence-api-1.0.jar
    poi-3.6-20091214.jar
    poi-3.7-beta1-20100620.jar
    poi-contrib-3.6-20091214.jar
    poi-contrib-3.7-beta1-20100620.jar
    poi-examples-3.6-20091214.jar
    poi-ooxml-3.6-20091214.jar
    poi-ooxml-3.7-beta1-20100620.jar
    poi-ooxml-schemas-3.6-20091214.jar
    poi-ooxml-schemas-3.7-beta1-20100620.jar
    poi-scratchpad-3.6-20091214.jar
    poi-scratchpad-3.7-beta1-20100620.jar
    quartz-all-1.8.3.jar
    saaj.jar
    sitecapturer.jar
    sitemesh-2.2.1.jar
    slf4j-api-1.4.2.jar
    slf4j-log4j12-1.4.2.jar
    spring-aop-2.5.4.jar
    spring-aspects-2.5.4.jar
    spring-beans-2.5.4.jar
    spring-context-2.5.4.jar
    spring-context-support-2.5.4.jar
    spring-core-2.5.4.jar
    spring-jdbc-2.5.4.jar
    spring-ldap-1.3.0.RC1.jar
    spring-orm-2.5.4.jar
    spring-security-acl-2.0.5.RELEASE.jar
    spring-security-core-2.0.5.RELEASE.jar
    spring-security-core-tiger-2.0.5.RELEASE.jar
    spring-security-taglibs-2.0.5.RELEASE.jar
    spring-tx-2.5.4.jar
    spring-web-2.5.4.jar
    spring-webmvc-2.5.4.jar
    standard-1.1.2.jar
    stax-api-1.0.1.jar
    stax-utils-20040917.jar
    struts-menu-2.4.3.jar
    struts2-codebehind-plugin-2.0.11.1.jar
    struts2-core-2.0.11.1.jar
    struts2-spring-plugin-2.0.11.1.jar
    thumbelina.jar
    urlrewritefilter-3.0.4.jar
    velocity-1.4.jar
    velocity-dep-1.4.jar
    velocity-tools-view-1.0.jar
    websphere_apis.jar
    wsdl4j-1.6.1.jar
    wstx-asl-3.2.0.jar
    xbean-2.2.0.jar
    xbean-spring-2.8.jar
    xercesImpl.jar
    xfire-aegis-1.2.6.jar
    xfire-annotations-1.2.6.jar
    xfire-core-1.2.6.jar
    xfire-java5-1.2.6.jar
    xfire-jsr181-api-1.0-M1.jar
    xfire-spring-1.2.6.jar
    xfire-xmlbeans-1.2.6.jar
    xml-apis-1.0.b2.jar
    xmlbeans-2.3.0.jar
    xwork-2.0.4.jar
      

  3.   


    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'helloWorldService' defined in ServletContext resource [/WEB-INF/applicationContext-xfire.xml]: Invocation of init method failed; nested exception is java.lang.ClassCastException: $Proxy4 applicationContext-xfire.xml去这个配置文件中找这个helloWorldService 看是否配置
    如果没配置 配置此service 配置了 查看路径 名称是否错误
      

  4.   


    不好意思没有看到,6楼的回答是SSH一般会遇到的架包问题,SSI我也没有用过,帮楼主顶一下吧,期待高手,学习学习。
      

  5.   

    你把那一个总的Ibatis的包换成ibatis-common-2.jar、ibatis-dao-2.jar和ibatis-sqlmap-2.jar这3个试下,我以前遇到过类似问题,前一天还好,第二天就报错,结果就是那个包的问题,换成那3个包之后就好了
      

  6.   

    检查配置文件,jar包去掉以后,要清除缓存,重新发布!