Friday, May 06, 2005

Java XML-RPC, gampang banget...

Ingin membuat aplikasi client-server? tidak mau membuat web service karena terlalu ribet? tidak mau terlalu banyak coding dengan RMI? coba XML-RPC menggunakan Apache XML-RPC

Apache XML-RPC mudah digunakan. Hanya dengan sedikit coding kita sudah bisa membuat aplikasi client-server. Bisa menggunakan Built-in HTTP Server sebagai server atau kita juga bisa membuat servlet yang di-deploy di web server (servlet container).

Langkah pertama membuat class handler yang akan menjadi class pemroses (processor) dari setiap request. Contoh :
 public class Messenger {
public String send(String address, String message) {
// process sending message here
return "Sending successful to " + address+ " message is \"" + message + "\"";
}
}
Lalu buat server:
  import org.apache.xmlrpc.WebServer;
public class XmlRpcServer {
public static void main(String[] args) {
try {
WebServer webServer = new WebServer(7777);
webServer.addHandler("MyMessanger", new Messenger());
webServer.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Setelah itu jalankan server, dan buat client:
  import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Vector;
import org.apache.xmlrpc.XmlRpcClient;
import org.apache.xmlrpc.XmlRpcException;
public class SmsEngineClient {
public static void main(String[] args) {
try {
XmlRpcClient client = new XmlRpcClient("http://localhost:7777");
Vector params = new Vector ();
params.addElement("friend");
params.addElement ("Apa kabar euy?");
String result = (String) client.execute("MyMessanger.send", params);
System.out.println(result);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (XmlRpcException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Jalankan program client, dan lihat hasilnya. Mudah sekali.

Dengan XML-RPC kita bisa dengan mudah melakukan pertukaran data dengan tipe:
int, boolean, java.lang.String, double, java.util.Date, java.util.Hashtable, java.util.Vector dan byte[] (byte array, untuk pengiriman file misalnya).

Jadi kenapa tidak pakai XML-RPC saja?

1 comment:

Toko Online, Belanja Online Disini Aja! said...

sorry bro, ada contoh XML-RPC di PHP ga? thnx sebelumnya

Followers