Showing posts with label Servlet. Show all posts
Showing posts with label Servlet. Show all posts

Thursday, December 04, 2008

Manggil Service WebMethods pakai Servlet di build pake Maven2

Environment
Sebelum mulai ada beberapa environment yang perlu dipersiapkan, diantaranya tools/teknologi yang saya gunakan untuk percobaan ini adalah:
1. Eclipse Gannymede(ato versi lainnya)
2. Maven2
3. Servlet
4. JSP
5. WebMethods+Integration Server 6.5


yang lainnya lebih lengkapnya liat disini:
http://forum.swamedia.co.id/viewtopic.php?p=628#628

Kelas
Ini kelas servlet-nya
package test;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.wm.data.*;
import com.wm.app.b2b.server.Service;

public class UpperCase extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;

// Allows you to have finer control over the logging levels
private static Log log = LogFactory.getLog( UpperCase.class );


public void doPost( HttpServletRequest request,
HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
ServletContext ctx = getServletContext();

// Will show on IS level 8
ctx.log("logging a string in the IS server log via the Servlet API");
log.info("Servlet logging at the IS level 4");
log.debug("Servlet logging at the IS level 8");


//passing parameter to variabel
String param1 = request.getParameter("param1");
String param2 = request.getParameter("param2");

// INPUT -----------------------
IData input = IDataFactory.create();
IDataCursor inputCursor = input.getCursor();
IDataUtil.put( inputCursor, "inString", param2+param1 );
IDataUtil.put( inputCursor, "language", "language" );
IDataUtil.put( inputCursor, "country", "country" );
IDataUtil.put( inputCursor, "variant", "variant" );

// OUTPUT -----------------------
IData output = IDataFactory.create();
IData output2 = IDataFactory.create();

// invoke the WM service riset:getUpperName
/*try{
output = Service.doInvoke( "riset", "getUpperName", input );
}catch( Exception e){}
IDataCursor outputCursor2 = output2.getCursor();
String name = IDataUtil.getString( outputCursor2, "name" );
*/
// invoke the WM service pub.string:toUpper
try{
output = Service.doInvoke( "pub.string", "toUpper", input );
}catch( Exception e){}
IDataCursor outputCursor = output.getCursor();
String value = IDataUtil.getString( outputCursor, "value" );

//destroy the cursor
inputCursor.destroy();
//outputCursor2.destroy();
outputCursor.destroy();


}
}




PROSES
Setelah environment-nya dipersiapkan, selanjutnya adalah proses berikutnya
1. Build source di eclipse menggunakan Maven2. Atau jika tidak ada bisa menggunakan builder apapun. Intinya kita ingin mendapatkan paket WAR-nya (WAR=Web Archive). Klo menggunakan eclipse cukup mudah (tentunya klo plugin Maven2 sudah di install di eclipse). Jalankan Run As->Maven Packages.

2. Setelah itu masukan file war-nya (dalam hal ini CobaServlet.War) ke dalam folder /web/webapps.

3. Kemudian jalankan service pada packages WmTomcat, wm.tomcat:hotdeploy.

4. Jadi deh Packages CobaServlet-nya, selanjutnya tinggal dijalankan deh.

5. Ok, Selamat Mencoba!! Jika ada masukan silahkan hubungi saya ok! Terima kasih.