WCF rest 서비스를 사용하여 바이트 arrray 파일을 보내야합니다. 안드로이드에서 HttpPost 메서드를 사용하여 데이터를 보내야합니다. 내가 사용하는 코드는 HTTP/1.1 400 잘못된 요청 오류로 상태를 제공합니다.Android에서 ByteArray를 WCF REST 서비스로 업로드
private final static String URI = "http://192.168.1.15/QueryService/Import/Test";
final HttpPost request = new HttpPost(URI);
final HttpClient httpClient = new DefaultHttpClient();
final ByteArrayEntity entity = new ByteArrayEntity(fileToBytes(pathToOurFile));
entity.setContentType("application/octet-stream");
entity.setChunked(true);
request.setEntity(entity);
final HttpResponse hr = httpClient.execute(request);
final StatusLine status = hr.getStatusLine();
httpClient.getConnectionManager().shutdown();
나는 Fiddler를 사용하지만 응용 프로그램에서 작성한 http 요청을 표시하지 않습니다. 나는 또한 에뮬레이터 프록시를 피들러 IP 주소로 변경했다. 에뮬레이터를 통해 웹 사이트를 탐색 할 때 Fiddler에 표시되지만 내 응용 프로그램 요청을 피들러에 표시하지 않습니다. 또한 StringEntity에 대해 동일한 코드가 작동하지만 Fiddler에서 모든 프로세스를 표시하지 않습니다. – saini
이것은 에뮬레이터 문제와 유사합니다. 중간 클라이언트를 사용하여 요청을 쉽게 인터셉트 할 수 있습니다. 나는 이것을 위해 과거에 성공적으로 http://code.google.com/p/tcpmon/을 사용했습니다. – kgiannakakis
나는 서비스 요청을 보낼 수 있지만 내가 보내는 요청이 웹 서비스에서 수신해야하는 적절한 형식이 아닌 것 같습니다. 또한 다중 형식을 통해 스트림 형식으로 데이터를 보내려고하지만 모든 응답을받지 못합니다. – saini