Axis2 – พัฒนา Web services บน Eclipse

เครื่องมือที่ผมใช้ในการพัฒนา

  • Eclipse version JEE
  • JDK 6
  • Apache Axis2 1.4.1
  • Apache Tomcat 6.0

จากนั้นก็ลงมือกันเลย
ก่อนทำตาม ขอให้ท่านเตรียม Eclipse ให้พร้อมในการสร้าง Dynamic Web Project ด้วยนะครับ

  1. ที่หน้า Eclipse ให้เข้าเมนู Window –> Preferences แล้วเปิดเมนู Web Services –> Axis2 Preferences จากนั้นก็ระบุ path ของ Axis 2
    1 - prepare axis2 lib
  2. สร้าง Dynamic Web Project ขึ้นมา แล้วสร้างคลาสที่จะทำเป็น Web Services ขึ้นมา ซึ่งผมสร้างคลาสที่มีเมธอดไว้คูณเลขสองตัวดังนี้
     

    package test.ws;
    
    public class Calculation {
    	public double mul(double x, double y){
    		return x * y;
    	}
    }
    
  3. คลิกขวาที่คลาสที่เพิ่งสร้าง แล้วเลือกเมนู Web Services –> Create Web Service
     
    2 - right click web services
     
    ก็จะปรากฏ Dialog ดังรูป
     
    3 - dialog gen web services
     
    ให้คลิกที่ลิงก์ Configuration ซักอันก็จะปรากฏ Dialog ก็ให้เลือก Runtime เป็น Axis 2 และ server ก็เป็น Tomcat ดังรูป
     
    4 - service deployment config
     
    จากนั้นก็กด OK จนมาอยู่ที่หน้า Eclipse 
  4. สั่ง Start Tomcat จากนั้นเปิด browser แล้วพิมพ์ URL http://localhost:8080/ชื่อโปรเจค/services/Calculation?wsdl ควรจะขึ้นเป็น WSDL ดังรูป
     
    5 - wsdl หากขึ้นแล้วแสดงว่าเราก็ทำ Web Services เสร็จเรียบร้อย

ขั้นตอนการสร้าง Web Services Client ด้วย Axis2

  1. ให้สร้าง Environment Variable สองตัวก่อนหากยังไม่สร้างคือ AXIS2_HOME กับ JAVA_HOME แล้วเพิ่มในตัวแปร PATH ให้ชี้ไปที่โฟลเดอร์ bin ด้วย เมื่อพร้อมแล้วก็เปิด command ขึ้นมาแล้วพิมพ์

    wsdl2java -uri http://localhost:8080/ชื่อโปรเจค/services/Calculation?wsdl -uw -p test.ws.client

    ถ้าไม่มีอะไรผิดพลาด Axis2 ก็จะทำการ Gen Stub ที่ใช้ในการเรียก Web Service ให้เรียบร้อย
     
    6 - gen client
     

  2. สร้างโปรเจคเป็นแบบ Java Project เพราะเราจะสร้าง Client ที่เป็น console เฉยๆ แล้วให้คัดลอกคลาสที่ Gen ได้จากขั้นตอนแรกเข้ามาใน Prject
    จากนั้นสร้างคลาสใหม่ขึ้นมา ผมตั้งชื่อว่า ServicesCall แล้วเขียนโค้ดดังนี้
     
    7 - call normal services
    เมื่อทำการรันโค้ดก็จะได้ผลลัพท์ 20 เหมือนในรูป (ขึ้นอยู่กับค่าที่ส่งไปนะครับ ^^)

ก็จบการทำ Web Services ด้วย Apache Axis2 แบบพื้นๆ ครับ

3 thoughts on “Axis2 – พัฒนา Web services บน Eclipse

  1. wsdl ที่ผมได้จาก url … ?wsdl จะมี ข้อความ

    ติดมาด้วย ถ้าดูจากในรูปตัวอย่าง จะไม่มี ” WSDL created by Apache Axis … ”

    ต้องทำอย่างไรครับ

      1. เป็นเพราะ Axis version 1 เปลี่ยนเป็น Axis2 หายแล้วครับ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s