my github webservice test : https://github.com/peepraeza/webservice_test/commits/master
ข้อที่ 1
โจทย์ : เมื่อเรียกใช้ webservice ให้ส่งค่าข้อมูลของนักศึกษา โดยข้อมูลที่ส่งมาจะมี ชื่อ, รหัสนักศึกษา, งานอดิเรก(ต้องมีมากกว่า 2 อย่างขึ้นไป)
hashcode ของข้อนี้คือ 0dcbb10 ไฟล์ server จะชื่อว่า server_test.php // แต่หลังจากที่ได้ไป clean code โดยการลบโค้ดส่วนที่ไม่ได้ใช้งานออกไป และทำการ commit ใหม่ ซึ่งจะอยู่ใน hashcode : 27f729f ของวันที่ 30/10/18 ชื่อไฟล์เปลี่ยนเป็น server_test_No1.php
upload ขึ้น cloud แล้ว url : https://webservicehello.herokuapp.com/servicetest1.php?wsdl
ทดสอบ web service โดยใช้ SoapUI
จากภาพช่องด้านซ้ายคือ ป้อน input ที่ใช้ค่าอะไรก็ได้(ไม่ได้กำหนด input เอาไว้) ในที่นี้ป้อนไปว่า data จากนั้นกด Run และ web service ก็จะส่งค่า information ของนักศึกษามาให้ ดังช่องด้านขวา
ข้อที่ 2
โจทย์ จำลองว่าเป็น web service ของไปรษณีย์ โดยที่ service แรก จะใช้สำหรับลูกค้า ที่มาส่งของ โดยลูกค้าต้องกรอก ชื่อผู้รับ, ที่อยู่ผู้รับ, น้ำหนักพัสดุ 3 ค่านี้ และ service ที่สอง จะใช้สำหรับพนักงานส่งของ โดยพนักงานเมื่อทำการส่งของเรียบร้อยแล้ว จะทำการบอกสถานะของพัสดุนั้น ว่าส่งของเรียบร้อยแล้ว และ service ที่สาม สามารถตรวจสอบข้อมูลใน Database ได้ว่า พัสดุได้ถูกส่งไปหรือยัง
upload ขึ้น cloud แล้ว url : https://webservicehello.herokuapp.com/servicetest2.php?wsdl
hashcode : 97a774d โดยจะมี 2 functions คือ send_mail จะเป็น service สำหรับลูกค้า และ sent_mail_already จะเป็น service สำหรับพนักงาน โดยข้อนี้จะใช้ Database มาใช้สำหรับเก็บข้อมูลและสถานะของพัสดุ โดยจะสร้างทั้งหมด 5 columns ได้แค่ id, name, addr, weight, status และ hashcode : 3b7ceb7 จะเป็นส่วน service ที่เพิ่มขึ้นมา โดยจะสามารถตรวจสอบข้อมูลทั้งหมดใน Database หรือจะตรวจสอบจากสถานะพัสดุก็ได้เช่นกัน
ทดสอบ web service โดยใช้ SoapUI
เริ่มจาก ลูกค้ามาส่งพัสดุที่ไปรษณี จะใช้ service send_mail โดยทำการกรอก name, addr, weight
หลักจากที่กรอกเรียบร้อยแล้ว เพื่อกด Run ทาง web service ก็จะส่งข้อความมาว่า ได้ทำการ add data เรียบร้อยแล้ว
พนักงานปณ. ก่อนจะไปส่งพัสดุ ก็จะตรวจสอบว่ามีพัสดุไหนบ้างที่ยังไม่ถูกส่งบ้าง ก็จะมาใช้ service ที่ชื่อว่า get_info_from_status โดยสามารถตรวจสอบได้ว่าพัสดุไหนบ้างที่ยังไม่ได้ส่งบ้าง
ทางด้าน input จะรับ parameter status เพื่อใช้ตรวจสอบสถานะว่าต้องการจะดูสถานะอะไร ในที่นี้เขียนไปว่า false หมายถึงสถานะของพัสดุที่ยังไม่ถูกส่ง เมื่อ Run ก็จะได้ค่าออกมา 2 ตัว คือพัสดุ id ที่ 1 และ id ที่ 21 ที่มีชื่อว่า Sandee ที่เพิ่งกรอกข้อมูลเข้าไปก่อนหน้านั้น
จากนั้นพนักงานก็จะทำการส่งพัสดุ และเมื่อส่งพัสดุถึงผู้รับแล้ว พนักงานก็จะเรียกใช้ service ที่ชื่อว่า sent_mail_already
ด้าน input จะรับค่า id, name, addr ของผู้รับพัสดุ เมื่อกด Run ทาง web service ก็จะส่งข้อความกลับมาว่า ได้ส่งพัสดุเรียบร้อยแล้ว และทำการอัพเดตสถานะพัสดุเรียบร้อยแล้ว
เพื่อยืนยันความถูกต้อง ก็สามารถกลับไปเช็คสถานะพัสดุทั้งหมดใน Database ได้โดยการใช้ service ที่ชื่อว่า get_info_all
โดยที่ input จะใส่ค่าอะไรก็ได้ ในที่นี้จะใส่เป็น data และเมื่อกด Run จะเห็นได้ว่า id ที่ 21 ของคนที่ชื่อ Sandee ได้เปลี่ยน สถานะจาก false เป็น true เรียบร้อยแล้ว เป็นการบอกว่าทำการส่งพัสดุถึงผู้รับเรียบร้อยแล้ว
ไม่มีความคิดเห็น:
แสดงความคิดเห็น