2013-04-11 2 views
0

나는 안드로이드에 https://code.google.com/p/android-json-rpc/을 사용하려고하고 자바 서버에 https://github.com/RitwikSaikia/jsonrpc을 사용하려고합니다.Android (클라이언트)/Java (서버) 설정에 android-json-rpc를 사용하는 방법은 무엇입니까?

나는 android-json-rpc 클라이언트 및 jsonrpc 서버 설정에 대한 예제를 따라했습니다.

Android 앱에서 android-json-rpc를 사용하는 경우 다음을 수행합니다. 에서 오는 문자열로 결과를 변환 할 수 없습니다 : 나는 그것은 JSONRPCException을 던졌습니다

String string = client.callString("SimpleCalculatorImpl"); 

메소드를 호출 할 때 내가 https://github.com/RitwikSaikia/jsonrpc#defining-interfaces에서와 https://github.com/RitwikSaikia/jsonrpc#hosting-the-service

에서 샘플을 따랐다 자바 서버의 경우

JSONRPCClient client = JSONRPCClient.create("http://service/uri",JSONRPCParams.Versions.VERSION_2); 
client.setConnectionTimeout(2000); 
client.setSoTimeout(2000); 
try 
{ 
    client.callString("SimpleCalculatorImpl"); 
    double i = client.callDouble("add", 56, 25); 
} 
catch (JSONRPCException e) 
{ 
    e.printStackTrace(); 
} 

callString 메소드 내부.

Android 클라이언트에서 JSON 용 Java 서버에 사용할 라이브러리를 사용하기 전에이 오류가 발생 했습니까?

답변

1

은 내가 라이브러리를 시도하지 않은하지만 난이 예외가 JSON이 올바르게 구문 분석되지 않은 경우,이 도움이 JSONLint

희망 같은 JSON 유효성 검사기를 통해 결과를 복사하여 실행하려고 일어나는 것을 알고있다.

+0

어떤 결과에 결과를 가져 오는 처리하기 위해 반사와 내 자신의 서블릿을 생성? 아무 것도 반환되지 않고 나는 항아리를 사용하고 있습니다. – zurbergram

+0

당신은 서버로부터 얻은 결과를 보았을 것입니다. 아마도 당신은 서비스 URL을 입력하는 것을 잊었을까요? 붙여 넣은 코드에서 예와 같이 http : // service/uri입니다. –

0

라이브러리 중 하나를 사용하지는 않았지만 간략하게 살펴보면 jsonrpc 서버 라이브러리가 executor.addHandler("calc", calcImpl, Calculator.class);이라는 접두어 처리기를 등록하는 것처럼 보이므로 "추가"메소드의 완전한 이름은 "calc"입니다. .더하다". 그래서 당신의 코드에서 다음과 같은 시도 :

double i = client.callDouble("calc.add", 56, 25); 

필요 없음을 문자열 결과를 반환 RPC 호출에 사용되어야한다) (callString로, client.callString("SimpleCalculatorImpl");를 호출 할 수 있습니다.