Apache HttpAsyncClient (버전 4.0-beta1,이 글을 쓰는 시점에서 최신)로 Android에서 REST 통신을 구현하려고합니다.Apache HttpAsyncClient - NoSuchMethodError - URIUtils.extractHost
내 문제는 프레임 워크에서 오는 MethodNotFound 오류로 인해 요청을받을 수 없다는 것입니다.
private static final String SERVER_SCHEME = "http";
private static final String SERVER_HOST = "localhost";
private static final int SERVER_PORT = 3000;
private static final String SERVER_BASE_PATH = "/api/v1";
private static final String PATH_LOGIN = "/login";
private DefaultHttpAsyncClient http_client;
public void test(String email, String password, ConnectionManagerCallback callback) {
this.http_client = new DefaultHttpAsyncClient();
this.http_client.start();
this.http_client.getCredentialsProvider().setCredentials(new AuthScope(SERVER_HOST, SERVER_PORT), new UsernamePasswordCredentials(email, password));
HttpPost request = new HttpPost(SERVER_SCHEME + "://" + SERVER_HOST + ":" + SERVER_PORT + SERVER_BASE_PATH + PATH_LOGIN);
this.http_client.execute(request, new Callback(REQUEST_LOGIN, callback));
}
나는 예외 제거한 :
java.lang.NoSuchMethodError: org.apache.http.client.utils.URIUtils.extractHost
at org.apache.http.impl.nio.client.AbstractHttpAsyncClient.determineTarget(AbstractHttpAsyncClient.java:594)
at org.apache.http.impl.nio.client.AbstractHttpAsyncClient.execute(AbstractHttpAsyncClient.java:578)
at org.apache.http.impl.nio.client.AbstractHttpAsyncClient.execute(AbstractHttpAsyncClient.java:569)
은 내가 한 일은 다음과 같다 :
자세한 스택 트레이스는 (제시된 행 후, 다음 하나는 내 자신의 코드에서 유래)입니다 예제를위한 처리. 문제는 위에서 설명한 예외가 발생한다는 것입니다. 그래서 베타 버전이므로 HttpPost에 다른 생성자를 사용하려고 생각했습니다. 그러나 constructur에 URI Object를 제공하더라도 extractHost 메서드를 호출하여 충돌을 시도합니다.
아무에게도 도움이되지 않습니까? 방금 JAR을 추가했고 라이브러리를 직접 컴파일하지 않았습니다.
사용중인 Jar 파일이 귀하의 코드 (최신 버전/이전 버전)와 호환되지 않는다고 생각합니다. 올바른 버전을 얻으려면 Jar 버전에 따라 코드를 변경하십시오. – kosa
답변 [here] (http://stackoverflow.com/questions/10155513/android-nosuchmethoderror-with-apk-file-apache-httputils-core/10258360#10258360)이 도움이되는지 확인하십시오. – yorkw