【问题标题】:CXF + Spring: No root resource matching request path has been foundCXF + Spring:没有找到根资源匹配请求路径
【发布时间】:2016-07-19 13:51:39
【问题描述】:

试图通过 CXF 和 Spring 启动并运行 REST 服务,但我碰了壁。其他一切看起来都很好,因为我可以访问我的 /services/ 页面并查看 REST 服务下列出的 MyService。我可以很好地查看服务的 WADL,我的方法出现在那里。但是,当我尝试访问它时,会发生异常。

WARNING: No root resource matching request path /testApp/services/MyService/goTest has been found, Relative Path: /goTest. Please enable FINE/TRACE log level for more details.
Jul 19, 2016 4:30:50 PM org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper toResponse
WARNING: javax.ws.rs.NotFoundException: HTTP 404 Not Found

我的服务接口

@Path("/MyService")
@Service
public interface MyService {

    @GET
    @Path("/goTest")
    @Produces(MediaType.APPLICATION_JSON)
    public Response testService();
}

服务实现:

public class MyServiceImpl implements MyService {

public Response testService() {
        // Code

        return Response.status(200).entity(gson.toJson(json)).build();
    }
}

配置类:

 @Configuration
 public class WebServiceSpringConfig {

    @Bean(name=Bus.DEFAULT_BUS_ID)
        public SpringBus springBus() {
            return new SpringBus();
        }


        @Bean
        public Server MyService() {

            JAXRSServerFactoryBean endpoint = new JAXRSServerFactoryBean();
            endpoint.setBus(springBus());
            endpoint.setAddress("/MyService");
            endpoint.setServiceBean(new MyServiceImpl());
            return endpoint.create();
        }
    }

Spring config 和 CXF servlet 在 web.xml 中声明

我正在使用带有 CXF 3.1.4 的 Spring 4.2.0

【问题讨论】:

    标签: spring web-services rest cxf


    【解决方案1】:

    您的网址 goTest 可以访问如下所示。

    http://<ip-add>:<port>/<web-root>/services/MyService/MyService/goTest
    

    简而言之,再次添加 MyService,因为您已将 MyService 设置为 setAddress@Path

    /testApp/services/MyService/MyService/goTest
    

    【讨论】:

    • 这个解决方案对我也有帮助,我收到类似错误的原因是因为我没有在方法级别一中附加类级别路径声明。我正在尝试(/methodLevelPath 应该是 /classLevelPath/classLevelPath)谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-09-06
    • 2016-06-15
    • 2019-08-27
    • 2016-12-01
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多