หน้าเว็บ

วันพฤหัสบดีที่ 1 พฤศจิกายน พ.ศ. 2561

การทดสอบเรื่อง Web Service by Thanut Suwannawong

Link ต่างๆ

    1. Web Service URL => https://selectedtopickmutnb2018.azurewebsites.net/WebService.asmx
    2. WSDL URL => https://selectedtopickmutnb2018.azurewebsites.net/WebService.asmx?WSDL
    3. Bitbucket URL => https://bitbucket.org/thanut_suwannawong/myfirstwebsevice-selectedtopic1-2561/src/master/

Web Service ต่างๆ

ฝั่ง Server ใช้ภาษา C# ฝั่ง  Clients ใช้ภาษา Python, Ruby

Air Conditioner

1. GetAirConditionerData()


    เป็นฟังก์ชั่นไว้สำหรับ Query ค่าข้อมูลของเครื่องปรับอากาศออกมา โดยจะดึงข้อมูลจากไฟล์ xml ที่อยู่ในฝั่ง server 

ไฟล์ air_data.xml

    เมื่อเราเรียกใช้ฟังก์ชั่นแล้วฝั่ง server จะดึงข้อมูลจากไฟล์ xml ดังรูปประกอบแล้วส่งข้อมูลไปยัง client โดยจะส่งให้อยู่ในรูปของข้อมูล xml เช่นกัน โดยวิธีการเช็คว่าข้อมูลที่ได้นั้นมันเป็น xml หรือไม่ก็โดยใช้ตัวโปรแกรมที่มีชื่อว่า SoapUI โดยจะสามารถทดสอบเรียกใช้งานตัว Web Service และดูผลการทดสอบได้




ผลการทดสอบโดย SoapUI

    จากผลการทดสอบก็จะได้ว่าตัวของข้อมูลที่ได้มานั้น เป็นลักษณะของ XML

client ภาษา python

client ภาษา ruby

2. GetAirConditionerDataByRoomNumber()

    เป็นการเรียกดูข้อมูลของเครื่องปรับอากาศโดยสามารถที่จะระบุเลขห้องเพื่อขอดูข้อมูลเป็นตามห้องได้ โดยการเรียกใช้นั้นจะต้องใส่พารามีเตอร์ที่เป็นเลขห้องลงไปด้วย เช่น  

print(client.service.GetAirConditionerDataByRoomNumber("002"))





ผลที่ได้ใน python Client

3. AddAirConditionerData()

    เป็นการใส่ข้อมูลให้กับฝั่ง Server โดยจะต้องมีการส่งพารามีเตอร์ดังนี้ room_number (เลขห้อง), time( เวลา ), temperature(อุณหภูมิ), humidity(ความชื้น)


    ตัวอย่างการเรียกใช้งาน โดยเป็นห้องที่ 108 เวลา 19/09/1967 17:20 อุณหภูมิ 26.7 องศาเซลเซียล มีความชื้น 55.5

client.service.AddAirConditionerData("108","19/09/1967 17:20","26.7","55.5")

ผลของการเพิ่มข้อมูลแล้วเรียกดูข้อมูล

Student

4. GetStudentData()


    ใช้ในการเรียก Web Service ที่จะส่งข้อมูลของนักเรียนจากฝั่ง Server มาให้ที่ Client ในลักษณะของเอกสาร XML

รูปการใช้ SoapUI เพื่อดูว่าผลลัพธ์นั้นเป็น XML หรือไม่


ผลการเรียกใช้ของ python client 

        จากรูปด้านบนจะแสดงถึงการลอง print ชนิดของค่าที่ได้รับมาว่าเป็นไปตาม schema หรือไม่ ซึ่งในที่นี้ผมตั้งไว้ให้เป็น string หมดเลยซึ่งก็ได้ผลตามที่ตั้งไว้

Delivery Service

4. AddDeliveryData()




    เป็น web service สำหรับการส่งข้อมูลของลูกค้าขึ้นไปยังฝั่ง server โดยจะต้องมีทั้งชื่อ ที่อยู่ น้ำหนักสิ่งของที่ส่ง แล้วก็ ID ของสินค้านั้นๆด้วย ในไฟล์ xml ของฝั่งเซิฟเวอร์จะมีค่าตัวแปร Status อีกหนึ่งตัวซึ่งค่าของตัวแปรนี้จะ Default ให้เป็น "Delivering" หรือกำลังถูกส่ง เพื่อแสดงสถานะว่าของชิ้นนี้นั้นกำลังเดินทางไปหาเจ้าของ


ตัวอย่างของไฟล์ XML ของฝั่ง server

ตัวอย่างการเรียกใช้งาน 
client.service.AddDeliveryData("Thanut Suwannawong","11/50 Bangkok",1.5,"NM001")

5. Delivered()


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

ตัวอย่างการเรียกใช้งาน client.service.Delivered("NM001")



                                         
ก่อนการเรียกใช้งาน

หลังเรียกใช้งาน

6. GetDeliveryData(), GetOnDeliveringData(), GetDeliveredData()


GetDeliveryData() => เรียกข้อมูลสินค้าทั้งหมด

รูปผลการเรียกใช้งาน


GetOnDeliveringData() => เรียกข้อมูลสินค้าที่กำลังจัดส่งอยู่

รูปผลการเรียกใช้งาน


GetDeliveredData() => เรียกข้อมูลสินค้าทั้งหมดที่จัดส่งเรียบร้อยแล้ว

                                                                                    รูปผลการเรียกใช้งาน

ไม่มีความคิดเห็น:

แสดงความคิดเห็น