首页 文章

实现客户端以调用Rest Web服务

提问于
浏览
0

我已经实现了http客户端与我使用Apache CXF实现的其他服务器进行通信 . 当我在浏览器中使用url时,evrything很好,但是当我使用client时,我得到了一个例外 . 例外是

线程“main”中的异常java.lang.NoSuchMethodError:org.slf4j.spi.LocationAwareLogger.log(Lorg / slf4j / Marker; Ljava / lang / String; ILjava / lang / String; Ljava / lang / Throwable;)V at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:99)位于org.apache.http.protocol的org.apache.http.client.protocol.RequestAuthCache.process(RequestAuthCache.java:75) . ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:131)org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:193)org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java: 85)org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)org.apache.http位于org.apache.http.impl.client.CloseableHttpClient:106(orx.apache.http.impl.client.CloseableHttpClient.execute)的.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)atg.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106) (C在ABC.XYZ(ABC.java:93)的ABC.XYZ(ABC.java:45)丢失了HttpClient.java:57)

我在客户端编写了以下代码

HttpClient client = HttpClientBuilder.create().build();
    HttpGet getRequest = new HttpGet(path);
    getRequest.addHeader("accept", "application/xml");
    HttpResponse response = client.execute(getRequest);//here I have an exception

2 回答

  • 0

    我建议你使用maven并添加apache http客户端依赖 . 可能是slf4j.jar的不兼容版本存在导致问题 . maven将能够处理兼容版本 .

  • 0

    我认为请求有些不同,对于第二个请求需要 Logger . 您应该正确地向slf4j添加依赖项并查看错误

相关问题