使用cxf开发web service 一下为配置文件
web.xml    <!-- Creates the Spring Container shared by all Servlets and Filters -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    
    <!-- Handles Spring requests -->
    <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>
        <servlet-name>test</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>  
        <servlet-name>CXFServlet</servlet-name>  
        <url-pattern>/services/*</url-pattern>  
    </servlet-mapping> 
    
    <servlet-mapping>
        <servlet-name>test</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
spring.xml<jaxws:endpoint id="testService" implementorClass="cn.com.softvan.ihotel.webservice.impl.TestServiceImpl" address="/testService" >
</jaxws:endpoint>
然后还有2个类 为接口TestService 和实现类TestServiceImpl。上面的org.springframework.web.servlet.DispatcherServlet是处理非web service的
org.apache.cxf.transport.servlet.CXFServlet 是处理web service的应用启动后,访问 http://localhost:8080/appname/services 显示No services have been found.
访问http://localhost:8080/appname/services/testService  报404 后台报错 Can't find the request for http://localhost:8080/iHotel/services/testService's Observer有人知道是怎么回事不? 另一个项目一样的配置 没有问题啊。纠结啊。求高人解答啊

解决方案 »

  1.   

        <servlet-mapping>  
            <servlet-name>CXFServlet</servlet-name>  
            <url-pattern>/services*</url-pattern>  
        </servlet-mapping> 
        
        <servlet-mapping>
            <servlet-name>test</servlet-name>
            <url-pattern>/test*</url-pattern>
        </servlet-mapping>
      

  2.   


    ~~~~问题依旧。不加/直接报错 Requested Resource Not Found
      

  3.   

    你的类里面是不是还写了注解啥的,所定义的URL跟声明的不一致?因为看你的错误信息,APP名称都变了:访问http://localhost:8080/appname/services/testService 报404 
    后台报错 Can't find the request for http://localhost:8080/iHotel/services/testService's Observer
      

  4.   

    @WebService(name = "testService", targetNamespace = "http://webservice.test.softvan.com.cn/")
    public interface TestService { @WebMethod(operationName="test")
    public String test(@WebParam(name = "xml") String xml);

    }接口里的确有注解。appname是我自己改的 下面那个忘了改了。名字是一致的。
      

  5.   

    实现类看看,估计你没在实现类里面写这个。
    @WebService(endpointInterface = "××××.TestService") 
      

  6.   


    实现类@WebService(endpointInterface = "cn.com.softvan.test.webservice.TestService", targetNamespace = "http://webservice.test.softvan.com.cn/")
    public class TestServiceImpl implements TestService{ public String test(String xml) {
    // TODO Auto-generated method stub
    return "hello" + xml;
    }}
      

  7.   

    这样我很难看出来了,你自己结合日志看看,给一个demo你看看
    http://gary0416.iteye.com/blog/1222915
      

  8.   


    Demo没问题。同样的配置在另一个项目上 也没问题,只有在这个项目上找不到服务~~~~。纠结啊。
      

  9.   

    你的spring版本对没呢,官网中下cxf中有demo的。建议去照demo处理一次。
      

  10.   


    spring 3.0.5
    cxf 2.2.3 
    应该没有问题的啊