[백업][가리사니] 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>