[백업][가리사니] xml Rpc 블로그 : 1. xml Rpc 소개
protocols, xml
이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.
XML-RPC 블로그 시리즈
서론
가리사니의 접속률을 올릴 수 있는 방법을 생각하던 중. 가리사니의 글을 블로그에도 올려서 링크하게 만들어보면 어떨까 생각하여, XML-RPC를 적용해 보았습니다.
XML-RPC
RPC 란? Remote procedure call 로 규정된 프로토콜을 통해 어떠한 명령을 실행하는 것을 뜻 합니다. 가령 리모컨을 이용하여 전원버튼을 누르거나 채널이동 볼륨조절등을 할 경우 서버(TV)는 해당 명령을 실행하는 것과 유사합니다. 또한 이 개념자체가 매우 거대하기 때문에 http 도 RPC의 하위 분류로 볼 수 있습니다. XML-RPC 란? 주고받는 규약으로 XML을 사용하는 RPC입니다. XML과 같은 데이터로 처리하는 경우 버전등이라던지 여러가지 명시를 하여, 상/하위 호환성에 더욱 충실한 프로토콜을 만들 수 있습니다. JSON 을 통한 RPC는 JSON-RPC 라고 합니다. XML-RPC : https://en.wikipedia.org/wiki/XML-RPC JSON-RPC : https://en.wikipedia.org/wiki/JSON-RPC
각종 자료형의 규칙
- 아래 주소에서 Data types 를 참고해주세요. https://en.wikipedia.org/wiki/XML-RPC
요청 규약
<?xml version="1.0"?>
<methodCall>
<methodName>메소드이름</methodName>
<params>
<!-- 하위 규약별 파라미터들 -->
</params>
</methodCall>
성공 응답 코드 예제
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value>성공시 반환 데이터</value>
</param>
</params>
</methodResponse>
실패 응답 코드 예제
<?xml version="1.0"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultString</name>
<value>실패사유</value>
</member>
<member>
<name>faultCode</name>
<value>
<int>실패코드</int>
</value>
</member>
</struct>
</value>
</fault>
</methodResponse>