簡體   English   中英

CXF + Spring:找不到根資源匹配請求路徑

[英]CXF + Spring: No root resource matching request path has been found

試圖通過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

您的網址goTest可以如下所示進行訪問。

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

簡而言之,當您將MyService設置為setAddress以及@Path再次添加MyService

/testApp/services/MyService/MyService/goTest

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM