struts2 升级后xfire webservice 启动失败

心意 2015-01-14 01:22:53
近期对Struts2进行了升级由原来的2.0.9升级到2.3.16.1,远程调用webservice 时出现错误

2015-01-14 13:07:12,046 com.opensymphony.xwork2.util.logging.commons.CommonsLogger.warn.64 [WARN ]: Could not find action or result: /ecs/services/EcsServices
There is no Action mapped for namespace [/services] and action name [EcsServices] associated with context path [/ecs]. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:37)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:552)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.itrus.ecs.admin.web.servlet.WsFilter.doFilter(WsFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)


...全文
2522 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
w5325698 2016-06-18
  • 打赏
  • 举报
回复
楼主,你看下,struts2包更新后,是否包都正确,404应该是映射找不到的原因。
布布于 2016-06-16
  • 打赏
  • 举报
回复
楼主,解决方案可以提供下吗?我也是升级struts2.3.28.1
汤姆是一只猫 2015-05-29
  • 打赏
  • 举报
回复
楼主问题解决了吗??? 我在现有项目集成XFire发布WebService,也是总访问不到wsdl文件(404),不知是什么原因影响了
心意 2015-01-23
  • 打赏
  • 举报
回复
web.xml 配置中 OpenSessionInViewFilter 是放到Struts2 的前面
心意 2015-01-23
  • 打赏
  • 举报
回复
找到问题了 web.xml 的Struts2的配置问题 ,改成

       <filter-name>Struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter
		</filter-class>
就webservice 启动成功了,但是页面就访问不到了 报404错误
2015-01-23 09:45:33,619 org.springframework.core.CollectionFactory.createLinkedMapIfPossible.116 [DEBUG]: Creating [java.util.LinkedHashMap]
2015-01-23 09:45:33,619 org.springframework.web.context.request.RequestContextListener.requestInitialized.60 [DEBUG]: Bound request context to thread: org.apache.catalina.connector.RequestFacade@18faa02
2015-01-23 09:45:33,619 org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.lookupSessionFactory.214 [DEBUG]: Using SessionFactory 'sessionFactory' for OpenSessionInViewFilter
2015-01-23 09:45:33,619 org.springframework.beans.factory.support.AbstractBeanFactory.getBean.202 [DEBUG]: Returning cached instance of singleton bean 'sessionFactory'
2015-01-23 09:45:33,619 org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance.1170 [DEBUG]: Bean with name 'sessionFactory' is a factory bean
2015-01-23 09:45:33,619 org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal.156 [DEBUG]: Opening single Hibernate Session in OpenSessionInViewFilter
2015-01-23 09:45:33,619 org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession.333 [DEBUG]: Opening Hibernate Session
2015-01-23 09:45:33,619 org.hibernate.impl.SessionImpl.<init>.220 [DEBUG]: opened session at timestamp: 14219775336
2015-01-23 09:45:33,619 org.hibernate.impl.SessionImpl.setFlushMode.1289 [DEBUG]: setting flush mode to: NEVER
2015-01-23 09:45:33,619 org.springframework.transaction.support.TransactionSynchronizationManager.bindResource.166 [DEBUG]: Bound value [org.springframework.orm.hibernate3.SessionHolder@e26d2e] for key [org.hibernate.impl.SessionFactoryImpl@1469a69] to thread [http-8080-2]
2015-01-23 09:45:33,619 org.springframework.transaction.support.TransactionSynchronizationManager.unbindResource.190 [DEBUG]: Removed value [org.springframework.orm.hibernate3.SessionHolder@e26d2e] for key [org.hibernate.impl.SessionFactoryImpl@1469a69] from thread [http-8080-2]
2015-01-23 09:45:33,619 org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal.182 [DEBUG]: Closing single Hibernate Session in OpenSessionInViewFilter
2015-01-23 09:45:33,619 org.springframework.orm.hibernate3.SessionFactoryUtils.closeSession.781 [DEBUG]: Closing Hibernate Session
2015-01-23 09:45:33,619 org.hibernate.impl.SessionImpl.close.273 [DEBUG]: closing session
2015-01-23 09:45:33,619 org.hibernate.jdbc.ConnectionManager.cleanup.373 [DEBUG]: connection already null in cleanup : no action
2015-01-23 09:45:33,619 org.springframework.web.context.request.RequestContextListener.requestDestroyed.71 [DEBUG]: Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@18faa02
  • 打赏
  • 举报
回复
换个webservice调用方式应该不难啊,生成下wsdl客户端也很快
心意 2015-01-15
  • 打赏
  • 举报
回复
引用 4 楼 shijing266 的回复:
我也觉得应该是包的版本冲突了,要不升级下xfire包试试 或者换一种调用webService方式也行
xfire已经是最高的1.2.6了 升级下原有的项目 不想这么麻烦
  • 打赏
  • 举报
回复
我也觉得应该是包的版本冲突了,要不升级下xfire包试试 或者换一种调用webService方式也行
心意 2015-01-15
  • 打赏
  • 举报
回复
引用 2 楼 cfm2000 的回复:
你的错误只是运行时的错误,应该在应用启动的时候,还有其他错误,导致了无法运行。最大的问题可能性是,xfire用的是旧的apache的xml解析包。会和新版的冲突。
2015-1-15 10:05:28 org.apache.catalina.core.AprLifecycleListener init
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Program Files (x86)\jdk1.5.0_13\bin;C:\Users\laihui\AppData\Local\Genuitec\Common\plugins\com.genuitec.eclipse.easie.tomcat.myeclipse_8.6.0.me201007231647\tomcat\bin
2015-1-15 10:05:28 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2015-1-15 10:05:28 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 329 ms
2015-1-15 10:05:28 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2015-1-15 10:05:28 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.13
log4j:ERROR Could not find value for key log4j.appender.INFO
log4j:ERROR Could not instantiate appender named "INFO".
2015-1-15 10:05:29 org.apache.catalina.core.ApplicationContext log
信息: Loading Spring root WebApplicationContext
2015-1-15 10:05:38 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2015-1-15 10:05:38 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2015-1-15 10:05:38 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/24  config=null
2015-1-15 10:05:38 org.apache.catalina.startup.Catalina start
信息: Server startup in 10211 ms
启动没有错误啊 日志里面也没有其它错误!
cfm2000 2015-01-15
  • 打赏
  • 举报
回复
xfire实在太老了,我用它碰到的错误几乎全是包冲突。你把全部包copy过去不冲突不代表什么,发生包冲突的话,肯定是只能发布一个包。你copy后可能发生了classload时使用的是旧包。 另外,如果可能的话,还是建议换cxf了,是xfire合并后推出的。
心意 2015-01-15
  • 打赏
  • 举报
回复
新建一个 xfire webServices 项目 然后将项目中包全部复制过去 可以启动 这样应该可以证明不是包冲突问题吧
心意 2015-01-15
  • 打赏
  • 举报
回复
引用 7 楼 laihui19891004 的回复:
新建一个xfire webServices 一样启动不了
IWAB0379E Unable to open http://laihui-pc:8080/laihui/service/test.
IWAB0135E An unexpected error has occurred.
WSDLException
WSDLException: faultCode=OTHER_ERROR: http://laihui-pc:8080/laihui/service/test 
少了个s
心意 2015-01-15
  • 打赏
  • 举报
回复
新建一个xfire webServices 一样启动不了
IWAB0379E Unable to open http://laihui-pc:8080/laihui/service/test.
IWAB0135E An unexpected error has occurred.
WSDLException
WSDLException: faultCode=OTHER_ERROR: http://laihui-pc:8080/laihui/service/test 
cfm2000 2015-01-14
  • 打赏
  • 举报
回复
你的错误只是运行时的错误,应该在应用启动的时候,还有其他错误,导致了无法运行。最大的问题可能性是,xfire用的是旧的apache的xml解析包。会和新版的冲突。
心意 2015-01-14
  • 打赏
  • 举报
回复
没人么

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧