나는 웹 서비스를 구축했다. 해당 웹 서비스에 대한 Tapestry 웹 앱. 나는 주위를 둘러 보았고 대부분의 사람들은 이것을 달성하기 위해 Apache HttpClient를 사용한다고 말한다. HttpClient와 함께 URIBuilder를 사용하고 있습니다. 테스트 나는 일반 텍스트 등으로 전송되는 암호를 사용하여 문제를 실현 *이HttpClient를 사용하여 웹 서비스 URL에 JSON 쿼리 문자열 보내기 (Java)
{"user":{"userEmail":"[email protected]","firstName":"John","lastName":"Doe","phone":"203- 555-5555"},"password":"dead"}
같은 외모를 보내려고하고
json으로 개체 ...
작동하는 URL () 수동으로 웹 브라우저에 입력하고이 웹 서비스가 이미 안드로이드 클라이언트와 아이폰 OS 클라이언트를 서비스로하는 것은 다음은이
http:// ##.##.###.##/createuser?json={"user":{"userEmail":"[email protected]","firstName":"John","lastName":"Doe","phone":"203-555-5555"},"password":"dead"}
처럼 보이는 것은 내가 m을 가지고있는 HttpClient를 코드 이 애가 왜 일하지 않는지 알아 내려고 애 쓰고있는 google'ing에서 함께 ashed. 기본적으로 URIBuilder를 사용하여 URI를 만든 다음 새로 생성 된 URI를 사용하여 HttpPost 또는 HttpGet 객체를 생성합니다. 그러나 URIBuilding 프로세스에서 문제가 발생합니다. 디버깅 할 때 URI의 모든 측면을 설정하려고하면 예외가 throw됩니다.
Object onSuccess() throws ClientProtocolException, IOException, URISyntaxException{
// json = {"user":{"userEmail":"[email protected]","firstName":"John","lastName":"Doe","phone":"203- 555-5555"},"password":"dead"}
String json = user.toJson();
URIBuilder builder = new URIBuilder();
// Error gets thrown when I step over the next line
builder.setScheme("http").setHost("##.###.##.###").setPort(8080).setPath("createuser").setQuery("json=" +json);
URI uri = builder.build();
HttpPost request = new HttpPost(uri);
DefaultHttpClient httpClient = new DefaultHttpClient();
String tmp = request.getURI().toString();
HttpResponse response = httpClient.execute(request);
index.setResponse(EntityUtils.toString(response.getEntity()));
return index;
내가 코드에 주석 라인을 통해 단계 때 돌아 오면 오류는 내가 보내는이 요청을 얻을 방법과 객체의 다른 조합을 많이 시도
[ERROR] TapestryModule.RequestExceptionHandler Processing of request failed with uncaught exception:org.apache.http.client.utils.URLEncodedUtils.parse(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/util/List; java.lang.NoSuchMethodError:org.apache.http.client.utils.URLEncodedUtils.parse(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/util/List;
입니다 서버에 올바르게 작동하고 아무것도 작동하지 않는 것 같습니다. 바라기를 나는 비교적 간단한 무언가를 바라보고있다.
제공 할 수있는 지침에 대해 미리 감사드립니다.
이 오류는 잘못된 버전의 HttpClient 라이브러리를 사용하고 있다는 의미입니다. – Luciano
어떤 버전을 사용해야합니까? http://hc.apache.org/downloads.cgi – mfunaro
에서 모든 jar를 포함하는 zip 파일을 다운로드했습니다. 그 방법을 호출하는 라이브러리에 따라 달라집니다. 해당 라이브러리의. 서가 종속성을 나열하는지 확인하십시오. – Luciano