2012-07-09 6 views
0

내가 안드로이드에서이 XML-RPC 메소드를 호출하기 위해 노력하고있어 (http://foxrate.org/)를 사용하여이 라이브러리 https://github.com/timroes/aXMLRPC안드로이드 XML-RPC 오류

호출 코드는 다음과 같습니다

 XMLRPCClient client = new XMLRPCClient(new URL("http://www.foxrate.org/rpc/")); 
    try { 
     Object o = client.call("foxrate.currencyConvert", "USD","GBP",(double)1); 
    } catch (XMLRPCException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

올바른 XML 호출을 생성하지만 서버가 Http 오류 코드 301을 반환합니다. POSTER 플러그인이있는 firefox에서이 호출을 시도하면 정상적으로 작동합니다.

답변

1

HTTP 301 상태 코드는 서버가 다른 URL로 전달하려고한다는 것을 의미합니다.

이 경우 "www"를 삭제하고 foxrate.org/rpc로 리디렉션합니다.

aXMLRPC 클라이언트가이 리디렉션 (기본 모드가 아닌)을 따르도록하려면 FLAGS_FORWARD flag을 사용하십시오. 코드의 첫 번째 줄은 다음과 같아야합니다

XMLRPCClient client = new XMLRPCClient(new URL("http://www.foxrate.org/rpc/"), FLAGS_FORWARD); 

당신은 더 플래그를 찾을 수 있습니다 - 다른 경우 뭔가 일을 위해 (유효하지 않은 SSL 인증서 등) 참조) - documentation에. 물론

은 또한 URL로 직접 http://foxrate.org/rpc을 사용할 수 있지만 그 :) 너무 간단 할 것이다 (그리고 그들은 다른 리디렉션에 나중에 변경 될 수 있습니다.)