报错 Unable to invoke request"/>
HTTP 请求报错 Unable to invoke request
HTTP 请求报错 Unable to invoke request
解决方式:
重新获取客户端构建,指明创建JerseyClient
Client client = JerseyClientBuilder.createClient();
报错原因:ClientBuilder下面有两个实现类ResteasyClientBuilder和JerseyClientBuilder。同样作为JAX-RS的实现,Jersey提供的是org.glassfish.jersey.client.JerseyClientBuilder和org.glassfish.jersey.client.JerseyClient
,RestEasy提供的是org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder和org.jboss.resteasy.client.jaxrs.ResteasyClient。
在同时存在两个JAX-RS实现的时候,因为JAX-RS采用了Java SPI的服务实现注入机制,RestEasy响应了这种机制,声明了ResteasyClientBuilder。
而Jersey实现中根本没有给出JerseyClientBuilder的实现,因此ResteasyClientBuilder的优先级高于JerseyClientBuilder而被采用。
在测试过程中,客户端事实上使用的是RestEasy的ResteasyClient,而不是Jersey测试框架期望的JerseyClient。所以会出现无法调取请求的情况。
更多推荐
HTTP 请求报错 Unable to invoke request
发布评论