สำหรับ version นี้ จะเป็นภาคปฏิบัติครับ สำหรับการใช้งาน Web Service ซึ่งเป็นในภาคทฤษฏีได้เขียนไว้ใน มารู้จัก Web Service v.1 ไปแล้วนั่นเองครับ
โดยในบทความนี้ เราจะมาสร้าง Web Service ง่ายๆ และจะเขียนโปรแกรมให้ PPC เรียกใช้งาน Web Service ของเราครับ
มาเริ่มสร้าง Provider กันเลย.
เราจะเริ่มต้นด้วยการสร้าง Web Service Application ครับ
เมื่อเปิด visual studio ขึ้นมา ก็ให้ File > New Project ขึ้นมาครับ เลือกเป็น ASP.NET Web Sevice Application ครับ
ในไฟล์ Service1.asmx.cs จะมีโค้ดที่ vs สร้างให้เป็น default ครับเพื่อแสดงความเป็น Web Service โดยประเด็นสำคัญจะอยู่ที่
[WebMethod]
public string HelloWorld(){
}
โดย [WebMethod] จะเป็นการประกาศว่า HelloWorld() เป็น WebMethod ของ Web Service ของเราครับ ถ้าเราไม่มี [WebMethod] เขียนกำกับไว้ WSDL ก็จะไม่รู้จักเมธอด HelloWorld() ของเรานั่นเองครับ
ต่อไป ให้เราสร้าง WebMethod ขึ้นมาใหม่ชื่อ Add รับพารามิเตอร์ 2 ตัวเป็นชนิด int คือ a กับ b แบบนี้ครับ
จากนั้นเราก็จัดการ Publish WebService ของเราขึ้น IIS ครับ โดยคลิกขวาที่ชื่อ Project ของเราแล้วเลือก Publish
จากนั้นก็ตั้ง location ให้กับ Web Service ครับ ในที่นี้ผมตั้งไว้ที่ http://localhost/iPandulaWS
เท่านี้ Web Service Application ของเราก็จะรันอยู่บน IIS พร้อมให้เราใช้งานแล้วครับ โดยสามารถทดสอบการใช้งานก่อนผ่าน Web Browser โดยให้เรียกไปที่ Location ที่เราตั้งไว้ครับ
สร้าง Requester กันต่อเลย.
ขั้นนี้ เราจะมาเรียกใช้งาน WebService ที่ได้สร้างไปแล้วข้างต้นครับ ดังนี้
เริ่มจาก New Project ขึ้นมาใหม่ เป็น Smart Device ครับ
เลือกรุ่นของ Windows Mobile ครับ ในที่นี้ผมเลือกเป็น v. 6 Profession.
ออกแบบ interface แบบนี้ครับ
ที่ Solotion ให้ทำการคลิกขวาที่ References แล้ว Add Web Reference ดังภาพ

จะเข้าสู่การ Add Web Reference โดยให้เราระบุ URL: ของ Web Service ที่เราสร้างไว้ก่อนหน้านี้ครับ
ในที่นี้ของผมจะอยู่ที่ http://ชื่อเครื่อง/iPandulaWS/Service1.asmx โดยจากภาพที่ให้เปลี่ยนจาก http://localhost ให้เป็น http://ชื่อเครื่อง ด้วยนะครับเพราะ Windows Mobile จะไม่รู้จัก localhost นั่นเองครับ แล้วกด Go ครับ ก็จะแสดง WebMethod ที่มีออกมา
ในส่วนทางขวา จะแบ่งเป็น 2 ส่วนคือ
1. Web services found . เพื่อแสดงว่าพบ Service จำนวนเท่าไร
2. Web reference name. ซึ่งเราจะนำชื่อนี้ไปเรียกใช้ Service นี้ต่อไปครับ
เมื่อเราทำการ Add Reference เสร็จเรียบร้อยต่อไปก็ถึงขั้นตอนการเรียกใช้ครับ
ให้เราดับเบิ้ลคลิกที่ Button และเขียนโค้ดนี้ลงไปครับ
สำหรับจุดสำคัญที่ต้องรู้ในโค้ดนี้ มี 2 บรรทัดครับคือ
localhost.Service1 s = new localhost.Service1();
ซึ่งเป็นการสร้าง object ชื่อ s ขึ้นจาก localhost.Service1();
ที่เป็นชื่อ localhost.Service1 ก็เนื่องมาจาก Web reference name ผมได้ตั้งชื่อไว้ว่า localhost นั่นเองครับ และอีกบรรทัดคือ
s.Add( a , b );
ซึ่งเป็นการเรียกใช้เมธอดชื่อ Add ที่เราเขียนไว้ที่ Web Service นั่นเองครับ
สุดท้าย ท้ายสุดครับ ให้เรา Sync Windows Mobile ของเราเข้ากับ PC ให้เรียบร้อย ใครใช้ Emu ก็ Sync Emu และ Setting Connection ให้เรียบร้อยนะครับ จากนั้นก็กดปุ่มรันได้เลยครับ
เพียงเท่านี้ WindowsMobile ของเรา ก็จะบวกเลขผ่าน WebService ได้แล้วครับ *0*
แต่เอ… แค่บวกเลขทำไมต้องผ่านเว็บเซอร์วิสด้วยล่ะนี้ ช้าจะตาย ฮ่าๆ