아래 코드를 통해 웹 서비스에 게시하는 Android 앱이 있는데 제대로 작동합니다. 그러나 서비스의 myContract 메소드는 부울 (true 또는 false)을 반환합니다. 내 앱이 false로 이동할지 여부를 알 수 있도록 그 값을 검색하려면 어떻게해야합니까? 편집에 대한 미안하지만, HttpResponse에를 사용하여, 다음 로그인하거나 response.toString()을 토스트WCF에서 안드로이드가 반환 값을 가져옵니다.
HttpPost request = new HttpPost(SERVICE_URI + "/myContract/someString");
request.setHeader("Accept", "application/json");
request.setHeader("Content-type", "application/json");
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request);
편집
내가 이해할 수없는 문자열을 반환합니다!
업데이트
감사 Shereef,
하지만 그건 좀 너무 많은 정보와 내가하려고했던 일을하는 코드처럼 보인다. 그 아래에 몇 가지 코드를 추가했는데 맞는지 확실하지 않습니다. 이 서비스는 POST가 성공했는지 여부에 대한 부울을 true 또는 false로 반환하지만 문자열로 검색하는 것처럼 보입니다!
HttpEntity responseEntity = response.getEntity();
char[] buffer = new char[(int)responseEntity.getContentLength()];
InputStream stream = responseEntity.getContent();
InputStreamReader reader = new InputStreamReader(stream);
reader.read(buffer);
stream.close();
JSONObject jsonResponse = new JSONObject(new String(buffer));
String ServiceResponse = jsonResponse.getString("putCommuniqueResult");
Log.d("WebInvoke", "Saving : " + ServiceResponse);
괜찮습니까? 그것은 작동하지만 그 권리가 있는지 확실하지 않습니다! 건배, 마이크.
웹 서비스는 당신이 읽을 수있는 동일한 기술을 사용하지 않는, 모든 프로그래밍 언어와 통신 할 수 있도록 설계이 답변을 참조 할 수 있습니다 XML 또는 JSON을 사용하여 데이터를 얻을 필요가있는 경우) 당신은 항상 문자열로 읽고 당신이 필요로하는 타겟 포맷으로 파싱한다. 예를 들어 C#은 웹 서비스 레퍼런스를 추가 할 수 있고 wsdl을 파싱하는 라이브러리를 얻지 않는다면 다른 포맷으로 데이터를 얻을 수있다. 그런 다음 wcf 문자열을 실제 출력으로 구문 분석합니다. 구문 분석 할 때까지 항상 문자열이됩니다. –