회사에서 XMLRPC를 사용할 부분이 생겨서 간단하게 테스트용으로 만들었다.
v3.0이 나온지 얼마되지 않고 v2.0과 다른 부분이 많기 때문에 삽질을 꽤나했었다. (아직 홈페이지에 가면 v2.0의 jar 파일을 다운로드 받을 수 있다) 이번 테스트는 웹 애플리케이션용으로 만들어졌다.
● 개발환경
- H/W : Dell insprion 6400
- OS : Windows XP
- Web Server : Tomcat 5.0.28
- Platform : JDK 1.5
- IDE : Ecilpse 3.1 + WDT
● 사용 라이브러리
- Apache XML-RPC
- ws-commons-util-1.0-SNAPSHOT.jar
● 참고문서
- http://ws.apache.org/xmlrpc/server.html
- http://ws.apache.org/xmlrpc/client.html
- http://www.petrovic.org/blog/?p=127 (상당히 많이 참고했다.)
● 선수지식
- 웹 프로그래밍 (Servlet 프로그래밍)
● 구조
● 서버
- Server.java : 다운로드
- XmlHandler.java : 다운로드
- XmlRpcServlet.properties : 다운로드
● 클라이언트
- Client.java : 다운로드
v3.0이 나온지 얼마되지 않고 v2.0과 다른 부분이 많기 때문에 삽질을 꽤나했었다. (아직 홈페이지에 가면 v2.0의 jar 파일을 다운로드 받을 수 있다) 이번 테스트는 웹 애플리케이션용으로 만들어졌다.
● 개발환경
- H/W : Dell insprion 6400
- OS : Windows XP
- Web Server : Tomcat 5.0.28
- Platform : JDK 1.5
- IDE : Ecilpse 3.1 + WDT
● 사용 라이브러리
- Apache XML-RPC
- ws-commons-util-1.0-SNAPSHOT.jar
● 참고문서
- http://ws.apache.org/xmlrpc/server.html
- http://ws.apache.org/xmlrpc/client.html
- http://www.petrovic.org/blog/?p=127 (상당히 많이 참고했다.)
● 선수지식
- 웹 프로그래밍 (Servlet 프로그래밍)
● 구조
이클립스에서 캡쳐했다.
● 서버
- Server.java : 다운로드
소스 내용은 진짜 간단하다. XmlRpcServlet을 상속받는 것밖에 없다. 그 외에는 보통의 Servlet 클래스와 다른 면이 없다.
- XmlHandler.java : 다운로드
클라이언트에 의해 호출될 Class다. add 메소드는 간단히 두 수를 넘겨받아 더한 후 그 값을 리턴하는 메소드다.
- XmlRpcServlet.properties : 다운로드
위의 두 클래스를 연결해 주는 properties 파일이다. 단순히 Client가 호출할 이름과 XmlHandler.java만 쓰여져있다. 이것이 v2.0과 큰 차이점 중 하나인데, 이전 버전에서는 setHandler라는 메소드를 통해서 mapping되었다면, 이번 버전에서는 상위 클래스에서 자동적으로 이 파일을 읽어서 알아서 mapping해준다.
주의할 점은 org.apache.xmlrpc.webserver 안에 존재해야 한다는 것이다. (임의로 디렉토리를 만든 다음, 이 파일을 넣어주면 된다)
주의할 점은 org.apache.xmlrpc.webserver 안에 존재해야 한다는 것이다. (임의로 디렉토리를 만든 다음, 이 파일을 넣어주면 된다)
● 클라이언트
- Client.java : 다운로드
안에 보면 상당히 간단하다. 위의 참고 문서(apache에서의 Client 설명)를 보면 설명이 잘 되어있다. xmlServer를 설정한 후, 위의 properties에서 mapping한 이름의 메소드를 호출하면서 parameter를 넘겨준다. 그 후 XmlHandler에서 리턴하는 값을 출력하도록 되어있다.
'개발 끄적임들 > 프로그래밍 끄적임' 카테고리의 다른 글
ActiveMQ 4.1을 이용한 간단한 메시지 큐 만들기 (0) | 2006.06.26 |
---|---|
castor 라이브러리를 이용한 XML binding Object (0) | 2006.06.22 |
XP를 위한 Opensource Tool Kit 참고 사이트 (0) | 2006.05.04 |
이번 프로젝트에서 사용된 프레임 워크들. (0) | 2006.04.09 |
Tomcat 5.5 DBCP 사용하기. (0) | 2006.02.21 |