ภาษาจาวา การใช้ Servlet ในการเรียกใช้ Web Service

ภาษาจาวา การใช้ Servlet ในการเรียกใช้ Web Service
ผ่านไปหลายวันผมไม่ได้เขียนบทความเลยก็เพราะช่วงนี้ผมงานยุ่งๆๆเลยลืมเขียนบท พอได้เวลาว่างก็เลยมาเขียนต่อ จากครั้งก่อนผมได้เขียนวิธีการสร้าง Web Service ไปแล้วมาถึงคราวนี้ก็เกี่ยวกับการเรียกใช้ Web Service บ้างโดยผมจะใช้ Servlet ของจาวาในการใช้ Web Service ของครั้งก่อน ซึ่งผมก็จะใช้ Netbean 6.9 เหมือนเดิม เพราะผมรู้สึกชอบตรงที่เขียน จาวาก็ได้ php ก็ดี ขั้นแรกก็แน่นอนเปิดโปรแกรม Netbean ขึ้นมา เลือกเป็น Java Web -> Web Application

java web service, web service, java servlet, ภาษาจาวา

ตั้งชื่อว่า CalculatorWSServletClient

java web service, web service, java servlet, ภาษาจาวา

เลือก Server เป็น GlassFish Server 3 ที่มาพร้อมกับ Netbean เพื่อความสะดวก เมื่อสร้างเสร็จแล้วก็ทำการ add Web Service Client ตามรูปโดยคลิกขวาที่ project แล้วเลือก Browse ที่ Project แล้วเลือก project ครั้งก่อน

java web service, web service, java servlet, ภาษาจาวา

java web service, web service, java servlet, ภาษาจาวา

จากนั้นทำการสร้าง Servlet โดยไปคลิกขวาที่ Project แล้ว New -> Servlet

java web service, web service, java servlet, ภาษาจาวา

ตั้งชื่อว่า ClientServlet ตั้งค่า package เป็น org.me.calculator.client แล้วกด Finish เมื่อเสร็จแล้วไปที่ method processRequest แล้วลบ comment ตรง out.println ออกแล้วทำการเขียนโค้ดเพื่อเรียกใช้ web service แต่การเรียกใช้ service อาจมีของผิดพลาดจึงต้องใส่ try catch ไว้ จากนั้นก็พิมพ์โค้ดตามนี้ครับ

[sourcecode language=”java”]

protected void processRequest(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType(“text/html;charset=UTF-8”);

PrintWriter out = response.getWriter();

try {

out.println(““);

out.println(““);

out.println(“Servlet ClientServlet“);

out.println(““);

out.println(““);

out.println(“

Servlet ClientServlet at ” + request.getContextPath () + “

“);

try{

org.me.calculator.CalculatorWSService service = new org.me.calculator.CalculatorWSService();

org.me.calculator.CalculatorWS port = service.getCalculatorWSPort();

// TODO initialize WS operation arguments here

int i = 5;

int j = 5;

// TODO process result here

int result = port.add(i, j);

out.println(“Result = “+result);

}

catch(Exception ex){

}

out.println(““);

out.println(““);

} finally {

out.close();

}

}

[/sourcecode]

java web service, web service, java servlet, ภาษาจาวา

จากตัวอย่างสังเกตคำสั่ง 2 คำสั่งนี้ครับ

[sourcecode language=”java”]
org.me.calculator.CalculatorWSService service =
new org.me.calculator.CalculatorWSService();

org.me.calculator.CalculatorWS port = service.getCalculatorWSPort();

[/sourcecode]
เป็นการสร้าง object เพื่อเรียกใช้ web service ที่เราสร้างขึ้นส่วนคำสั่งที่เรียกใช้ web service add นั้นก็ให้ดูคำสั่ง int result = port.add(i, j); จะเห็นว่า object port นั้นเรียก method add ได้เลยผลก็นำไปเก็บในตัวแปร result นี้ก็เป็นตัวอย่างง่ายๆในการใช้บริการ web service นะครับถ้าอยากให้ผมเขียนบทความเกี่ยวกับเรื่องอะไรก็ comment ได้นะครับ

Download SourceCode

Leave a Reply

Your email address will not be published. Required fields are marked *