XmlRpcServlet 를 이용하면 XML-RPC Server 를 손쉽게 만들 수 있다.
1개의 설정파일과 서비스를 위한 class 및 web.xml 을 수정하면 문서처럼 10분이면 끝난다.
테스트는 eclipse + apach 6.0 에서 수행함.
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>xml_rpc_web</display-name>
<servlet>
<servlet-name>XmlRpcServlet</servlet-name>
<servlet-class>org.apache.xmlrpc.webserver.XmlRpcServlet</servlet-class>
<init-param>
<param-name>enabledForExtensions</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>XmlRpcServlet</servlet-name>
<url-pattern>/bbaeggar</url-pattern>
</servlet-mapping>
</web-app>
- 요넘은 org/apache/xmlrpc/webserver/XmlRpcServlet.properties 경로에 만들어 줘야함.
Login=org.apache.xmlrpc.demo.Login
3. 서비스 클래스..
위에 프로퍼티에서 사용되는 서비스 클래스는 알아서 만들어주면 될듯.
4. 테스트
Client.java
import java.net.URL;
import org.apache.xmlrpc.client.XmlRpcClient;
import
org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
import
org.apache.xmlrpc.client.XmlRpcCommonsTransportFactory;
public class Client {
public static void main(String[] args) throws Exception {
// create configuration
XmlRpcClientConfigImpl config = new
XmlRpcClientConfigImpl();
config.setServerURL(new URL("http://127.0.0.1:8080/xml_rpc_web/bbaeggar"));
config.setEnabledForExtensions(true);
config.setConnectionTimeout(60 * 1000);
config.setReplyTimeout(60 * 1000);
XmlRpcClient client = new XmlRpcClient();
// use Commons HttpClient as transport
client.setTransportFactory(
new
XmlRpcCommonsTransportFactory(client));
// set configuration
client.setConfig(config);
// make the a regular call
Object[] params = new
Object[]
{ new Integer(2), new Integer(3) };
Integer result = (Integer) client.execute("Calculator.add", params);
System.out.println("2 + 3 = " + result);
for(int i = 0;i<100;i++) {
// make the a regular call
Object[] params1 = new Object[]
{ "bbaeggar",
"0000" };
Boolean result1 = (Boolean)
client.execute("Login.login", params1);
System.out.println("is Login = " + result1);
}
}
}
ps.
http://ws.apache.org/xmlrpc/server.html <- 여기를 잘 읽다보면 stand-alone 형태로도 서비스를 제공할 수 있어 더 좋은듯.
'java > web' 카테고리의 다른 글
[HttpClient] - GetMethod 사용하자 (0) | 2010.06.30 |
---|---|
[web service] - ServletWebServer 사용기.. (0) | 2010.06.30 |
[web service] - apache-xmlrpc-3.1.2 사용기.. (0) | 2010.06.30 |
[web] - SOAP vs XML-RPC (0) | 2010.06.30 |
[web] - JavaSE6 를 활용하여 Web Service Client Application 만들기 (0) | 2010.06.29 |