ปกติผู้เขียนจะไม่ใช้ Delphi เชื่อมต่อ Web Service ผู้เขียนจะใช้ C#.Net เป็นหลักทั้งตัวของ Web Service และ Thin client เพราะเขียนในภาษาเดียวกันอีกทั้งการส่งผ่าน DataSet ก็ยังสะดวกกว่า แต่ในความที่ผู้เขียนผูกพันกับ Delphi ตั้งแต่ Delphi 5 จึงขอทดสอบเป็นประสบการณ์ โดยผู้เขียนจะใช้ Delphi 2010 เป็นตัวทดสอบ
1. เมื่อสร้าง Project เปล่าๆ ขึ้นมาแล้ว (สร้างโดยเลือก VCL Form) จะพบกับ Form เปล่า ผู้เขียนนำ Component HTTPRIO มาใช้บน Form ดังภาพ
2. ผู้เขียนนำเข้าไฟล์ที่เป็นประเภท WSDL (ไฟล์นี้เปรียบเสมือนคู่มือการใช้ฟังชั่นของ Web Service) โดยไปที่ File > New > Other... > Delphi project > Web Service และเลือก WSDL Importer
3. จากนั้นก็ใส่ที่อยู่ของ Web Service ตอนแรกก็ยังงง ว่ามันอยู่ที่ไหนเพราะ Web Service ของ .Net จะเป็นไฟล์ .asmx ก็แค่เติม "?WSDL" แล้วกด Next (ตามภาพ)
พบ Dialog ถามถึง Version ของ Soap ที่ใช้ในการส่งข้อมูล ผู้เขียนเลือกเป็น Automatic
หลังจากนั้นก็จะพบกับการตั้งค่ามากมาย ผู้เขียนใช้ค่าเริ่มต้นเพราะเป็นเพียงการทดสอบ แล้วกด Finish
4. จากนั้น Delphi จะทำการสร้าง unit ขึ้นมาเพื่อให้เราใช้งานกับ Web Service ตามที่ไฟล์ WSDL กำหนดไว้ ผู้เขียนตรวจสอบ Function ที่สร้างขึ้นมาเพื่อเชื่อมต่อว่าลิงค์ที่อยู่ถูกต้องหรือไม่
5. ผู้เขียนเข้าไปตั้งค่า Properties ของ HTTPRIO1 เพื่อให้ทำงานกับ unit ที่ Delphi สร้างให้ โดยถ้าใส่ที่อยู่ในช่อง WSDLLocation ถูกแล้ว ค่าต่างๆจะมีให้เลือกเอง
6. ทดสอบด้วยการใส่ Code ภายในปุ่ม Button1 Even Click
procedure TForm1.Button1Click(Sender: TObject);
Var
ws: Service1Soap;
begin
ws:=email.GetService1Soap(false,'',nil);
ShowMessage(ws.HelloWorld);
end;
จาก Code เป็นการเรียกใช้ Method HelloWorld ที่เขียนไว้ที่ Web Service โดยจะส่งค่ากลับมาเป็น String
Most popular
-
Trigger คืออะไร? ท่านที่เคยเขียนโปรแกรม และเคยใช้ Event handle ก็จะนึกถึงการทำงานของ Trigger ไม่ยาก Trigger ก็คือ Code คำสั่ง SQL ที่ถูกสร...
-
MySQL Workbench ที่ผู้เขียนใช้ทำตัวอย่างเป็น Version 5.2.34 CE สำหรับ Windows 32 bit หรือตัวใหม่กว่าก็ได้ครับ ดาวน์โหลดได้ที่นี่ http://www...
-
คนที่มีภาพใน facebook เยอะๆก็คงจะต้องการย้ายภาพไปมา บางทีก็เอาภาพบนกระดานเก็บลงอัลบั้ม บางทีก็หาไม่เจอว่าจะย้ายได้ยังไง การย้ายอัลบั้มไม่ยา...
-
Tier คำนี้เมื่อแปลออกมาจะแปลได้ว่า "ชั้น" Tier ในวงการ Software ก็มีความหมายคล้ายกัน สำหรับท่านที่ยังไม่เข้าใจขอแนะนำง่ายๆ โดยให้...
-
หลายท่านคงเคยเล่น หรือไม่ก็รู้จักชื่อเสียงเรียงนามของเกมนี้กันบ้าง หลังจากที่โด่งดังมาจากวงการ Tablet และ Smart Phone ก็ได้ออก Version ที่เล...
วันจันทร์ที่ 21 มีนาคม พ.ศ. 2554
Delphi 2010 ทดสอบการเชื่อมต่อกับ Web Service (.asmx)
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
แล้วผมจะเอา Web Service มาจากไหนครับ
ตอบลบ