当前位置: 代码迷 >> 综合 >> Cxf开发webservice时遇到Can't find the request for xx's Observer
  详细解决方案

Cxf开发webservice时遇到Can't find the request for xx's Observer

热度:61   发布时间:2024-01-13 02:05:36.0

首先说一下我的项目需求:

我用WebService和Spring进行了整合。有在这个服务器端设置了jsp界面。我想启动的时候先加载自己的jsp界面。webService的wsdl配置清单界面自己手动去访问。

代码

说说我的配置吧。
web.xml文件中<servlet><servlet-name>CXFServlet</servlet-name><servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class><load-on-startup>1</load-on-startup></servlet>
<servlet-mapping><servlet-name>CXFServlet</servlet-name><url-pattern>/*</url-pattern></servlet-mapping>cxf配置文件中beans.xml<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://cxf.apache.org/jaxws  http://cxf.apache.org/schemas/jaxws.xsd">
<!-- CXF webservice配置 -->
<import resource="classpath:META-INF/cxf/cxf.xml" /> 
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> 
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />  <bean id="fyqqRespServiceImpl" class="com.thunisoft.fy.gxpt.server.webservice.service.impl.FyqqRespServiceImpl"/>  
<jaxws:endpoint    id="fyqqResp"    implementor="#fyqqRespServiceImpl"address="/fyqqResp" ></jaxws:endpoint></beans>

问题 后台不报错找不到界面

解决办法;

你在客户端删掉web.xml中的cxf配置或者是在mapping中不要让它映射所有<servlet-mapping>
  <servlet-name>CXFServlet</servlet-name>
  <url-pattern>/加上路径/*</url-pattern>
  </servlet-mapping>
不然就会首先映射CXFServlet,就会找不到服务!

  相关解决方案