11
CH.07-5 XML-RPC 사사사사 2008011113 사사사

Ch.07-5 xml- rpc 사용하기

Embed Size (px)

DESCRIPTION

Ch.07-5 xml- rpc 사용하기. 2008011113 김상엽. 목차. XML-RPC 란 무엇인가 ? XML-RPC 의 형태 예제 소스 분 석. Xml- rpc 란 무엇인가 ?. XML : 웹서비스에서 광범위하게 사용되는 데이터나 문서를 표준화 하기 위하여 사용되는 도구를 말한다 . html 과는 다르게 텍스트로 표현된 데이터를 구조화 하여 전송할 수 있으므로 , 데이터의 재사용과 정보 검색에 있어서 유리하다. Xml- rpc 란 무엇인가 ?. - PowerPoint PPT Presentation

Citation preview

Page 1: Ch.07-5 xml- rpc 사용하기

CH.07-5

XML-RPC 사용하기

2008011113 김상엽

Page 2: Ch.07-5 xml- rpc 사용하기

목차

1) XML-RPC 란 무엇인가 ?

2) XML-RPC 의 형태

3) 예제 소스 분석

Page 3: Ch.07-5 xml- rpc 사용하기

XML-RPC 란 무엇인가 ?- XML : 웹서비스에서 광범위하게 사용되는 데이터나 문서를 표준화

하기 위하여 사용되는 도구를 말한다 . html 과는 다르게 텍스트로 표현된 데이터를 구조화 하여 전송할 수 있으므로 , 데이터의 재사용과 정보 검색에 있어서 유리하다 .

Page 4: Ch.07-5 xml- rpc 사용하기

XML-RPC 란 무엇인가 ?

- RPC : 네트워킹을 할 때 , 원격지에 정의된 함수를 다른 로컬 컴퓨터에서 호출하는 것처럼 만든 기술을 말한다 . 이 기술은 송수신 프로토콜을 사용하는 스텁을 만들어 통신하므로 , 개발자는 내부적인 과정을 몰라도 클라이언트 , 서버를 만들어 사용할 수 있다 .

클라이언트 서버Stub Stub

Page 5: Ch.07-5 xml- rpc 사용하기

XML-RPC 란 무엇인가 ?

- XML-RPC : 이름 그대로 RPC 기술을 이용한 서버와의 통신 과정에서 XML 을 이용하는 기술 . 서버와 클라이언트간의 정보가 XML 문서로 만들어져 응답하게 된다 .

클라이언트 서버Stub Stub

XML 문서

XML 문서

Page 6: Ch.07-5 xml- rpc 사용하기

XML-RPC 의 형태<?xml version=“1.0”?>

<methodResponse> 서버의 함수 응답을 의미 <params>

<param>

<value><i4>11</i4></value> 4 바이트의 11 이라는 값을 </param> 가지는 param 변수를 의미 </params>

</method Call>

Page 7: Ch.07-5 xml- rpc 사용하기

XML-RPC 의 형태<?xml version=“1.0”?>

<methodCall> 클라이언트의 함수 호출을 의미 <methodName>echo.execute</methodName> 함수이름 <params>

<param>

<value><i4>11</i4></value> 4 바이트의 11 이라는 값을 </param> 가지는 param 변수를 의미 </params>

</method Call>

Page 8: Ch.07-5 xml- rpc 사용하기

예제 Public class SampleIBMLActivity extends Activity {

private String url=“http://147.46.109.56:10423/”; // 접속 서버 정의

private Stirng HANDLER_NAME=“echo”; // 핸들러 이름 정의

----

public void onCreate(Bundle savedInstanceState) {

----

connectBtn.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

launch(); // 메소드 호출

}

}_;

----

Page 9: Ch.07-5 xml- rpc 사용하기

예제 public void launch() {

try {

IBMLClient client=new IBMLClient(url); // 클라이언트 객체 생성

println(“Client initialized with URL [“ + url + “].\n”);

Vector params=new Vector();

params.add(“Hello Android Town!”); Vector 객체 생성

Vector response=null;

response=(Vector)client.execute(HANDLER_NAME+”.execute”, params); // 메소드 호출

println(“Waiting response …\n”);

processResponse(response); //Vector 객체 처리

} catch(Exception ex) {

ex.printStackTrace();

}

}

Page 10: Ch.07-5 xml- rpc 사용하기

예제private void processResponse(Vector response) throws IBMLPacketException {

println(“Processing response …\n”);

for(int i=0; i<response.size(); i++) {

Object obj=response.get(i);

if(obj instanceof String) {

String msg=“#” + i + “ (String) : “ + obj;

println(msg);

----

}

}

}

private void println(String msg) {

Log.d(TAG, msg);

Page 11: Ch.07-5 xml- rpc 사용하기

예제 txtMsg.append(“\n” + msg);

}

}