2552-05-13

บทเรียนง่ายๆสำหรับมือใหม่

วันนี้ก็มาถึงวันที่หลายๆท่านรอคอย (กว่าจะเข้าเรื่องได้) วันนี้เราจะมาเริ่มทำงานกับโปรแกรม soapUI กันนะครับ สำหรับท่านที่พึ่งจะเคยใช้เจ้าตัวโปรแกรม soapUI นั้นอาจจะงงเล็กน้อย ผมจะขอเริ่มจากขั้นพื้นฐานกันเลยนะครับ เราไปแบบ step by step กันเลยนะครับ

เรามาทำความเข้าใจกันก่อนนะครับ ในการเริ่ม Project นั้น จะทำได้อยู่ 2 แบบคือ
  • สร้างโปรเจคขึ้นมาใหม่ (Create a new WSDL project)
  • นำโปรเจคที่มีอยู่แล้วมาทำต่อ (Imports an existing WSDL Project into the current workspace)
[โดยทั้งสองแบบจะใช้ file .WSDL ของ webservice ที่มีกันเลือกนำมาทดสอบกันแบบ free อยู่หลายเวป]

Step ของการทำงานนั้นจะมี อยู่ 3 step หลักๆ ก็คือ
  • กำหนดขอบเขตที่เราจะทำการทดสอบ
  • เพิ่ม file .wsdl เข้ามาทำการทดสอบ
  • ทดสอบเรียกใช้งานของ service นั้นของ webservice

เราจะมาเริ่มกันนะครับ ซึ่งผมจะยกตัว service ของ ปตท. โดยตัว service ของ ปตท. นั้นจะให้บริการบอกราคาน้ำมันให้กับเรา เอาละมาเริ่ม step แรกกันเลยดีกว่า

  • ขั้นตอนแรกก็คือกำหนัดขอบเขตของการทำงานนะครับ - ขั้นตอนนี้เราก็จะกำหนดขอบเขตว่า service ตัวนี้ของ ปตท. ทำงานได้จริงหรือไม่ มีการแสดงผลเป็นราคาน้ำมันไหม
  • ขั้นตอนที่ 2 ก็คือการ เพิ่ม file .wsdl เข้าไปเพื่อทำการสร้างโปรเจคขึ้นมาเพื่อทำการทดสอบ service โดยจะทำการนำ wsdl file จาก http://www.pttplc.com และ wsdl file ที่ได้คือ http://www.pttplc.com/pttinfo.asmx?WSDL เราจะมาดูรูปขั้นตอนการเพิ่ม WSDL file กันนะครับ

หลักจากนั้นเราก็จะได้ หน้าต่างของ New soapUI Project ขึ้นมานะครับตามรูปนะครับ


จะสังเกตเห็นว่ามีช่องให้เรากรอกอยู่ 2 ช่องนะครับ
  • ช่องแรก Project Name : จะเป็น ชื่อของโปรเจคที่เรากำลังจะทำ เราก็จะตั้งชื่อโปรเจคนี้ว่า Ptt test service (อันนี้จะตั้งอะไรก็ได้นะครับ)
  • ช่องที่ 2 Initial WSDL/WADL : คือช่องที่เราจะกรอก file .wsdl เข้าไปนะครับ ในที่นี้เราจะกรอก http://www.pttplc.com/pttinfo.asmx?WSDL เข้าไปในช่องที่ 2 นะครับ
พอกรอกรายละเอียดเสร็จก็คลิกที่ปุ่ม OK ด้านล่างนะครับ

และนี่ก็จะคือหน้าตาของ โปรแกรมหลังจากได้ทำการ สร้างโปรเจคขึ้นมาใหม่นะครับ จะสังเกตได้ว่าในช่องฝั่งซ้ายมือนั้นจะมี รายละเอียดขึ้นมานะครับ รายละเอียดเหล่านี้ก็คือ function ของตัว service ที่เรากำลังทดสอบอยู่ตอนนี้นะครับ

  • ขั้นตอนที่ 3 ทดสอบ service ของ webservice
เอาละครับ พอถึงตอนนี้เราก็ต้องกลับไปดูว่าเรากำหนดขอบเขตของเราว่าอย่างไร....

[ ขอบเขตการทำงานของเราในตอนแรกนั้นบอกว่าเราต้องการจะทดสอบว่า ตัว service ของ ปตท. นั้นสามารถ แสดงราคาน้ำมันได้จริงหรือไม่ ]

เอาละครับในเมื่อรู้ขอบเขตการทำงานแล้วเราก็มาดูว่า ตัว service ตัวนี้สามารถทำงานได้จริงหรือไม่ โดยการดูที่ function ของตัว service ว่ามีสิ่งที่เราต้องการรึเปล่า


ทีนี้เราจะมาทำการทดสอบตัว service ที่เราต้องการนะครับโดยทำการเรียก function request ของ CurrentOilPrice ขึ้นมา ตามรูป


จากรูปเราจะสังเกตเห็นว่า หลังจากที่เราเรียก function request ขึ้นมานั้น โปรแกรมจะแสดงหน้าต่างส่วนที่ 2 ขึ้นมาแทนที่ พื้นที่ว่างสีฟ้า ซึ่งส่วนที่ 2 นี้จะเป็นส่วนของการประมวลผลของ ตัว service ที่แสดงขึ้นมาและหน้าต่างส่วนที่ 2 นี้ก็จะมีอยู่ 2 ส่วนก็คือ
  • ส่วนของ interface รับคำสั่ง
  • ส่วนของ interface แสดงผลของคำสั่งที่ได้รับเข้าไป


เอาละครับ มาถึงขั้นตอนของการ เรียกใช้ service ของ ปตท. กันแล้วนะครับ โดยการทำการ ป้อนประเภทของภาษาเข้าไปในช่อง


ตามรูปนะครับ
  • เราจะทำการป้อนข้อมูล th (thailand) ลงในช่อง ของ Language : นะครับ
  • ทำการคลิกที่ลูกศรสีเขียวเพื่อทำการ Run โปรแกรมนะครับ
  • แล้วเราก็จะได้ Output ของโปรแกรมที่แสดงเป็น ราคาน้ำมันชนิดต่างๆ ซึ่งค่าที่แสดงออกมานั้นเป็นภาษา XML นะครับจะทำให้อ่านยากนิดหน่อย
สุดท้ายนี้เราก็สรุปได้เลยนะครับว่า เจ้าตัว service ของ ปตท. นั้นสามารถแสดงราคาน้ำมันได้จริง


เป็นยังไงกันบ้างครับสำหรับหัวข้อนี้ ไม่ยากเลยใช่ไหมครับสำหรับการใช้งานเจ้าโปรแกรม soapUI ตัวนี้..... ^^

2 ความคิดเห็น:

  1. ขอบคุณครับอ่านแล้วเข้าใจง่าย อยากทราบว่านอกจากไว้ทดสอบ web service แล้วทำอะไรได้นอกเหนือจากนี้มั้ยครับ

    ตอบลบ
  2. ใช้ soapUI Pro 4.5 น่ะคะ ตอนนี้มีปัญหา คือ ไฟล์เดียวกัน อีกคนรันแล้วมีresponseกลับมา แต่ดิฉันไม่มี เช็คแล้ว พบว่าติดปัญหาที่ function ที่ถูก include มาจากไฟล์อื่นอีกที เหมือนว่าไม่รู้จัก functionนั้น (ไฟล์ที่เกี่ยวข้องทั้งหมดเก็บที่เดียวกัน) ไม่ทราบว่าต้องตั้งค่าอะไรเพิ่มเติมรึเปล่าคะ?

    ตอบลบ