Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > บทความจากสมาชิก > PHP สร้าง Web Service และใช้ .NET เรียก Web Service ของ PHP (ASP.NET and Windows Form)



 
Clound SSD Virtual Server

PHP สร้าง Web Service และใช้ .NET เรียก Web Service ของ PHP (ASP.NET and Windows Form)

PHP สร้าง Web Service และใช้ .NET เรียก Web Service ของ PHP (ASP.NET and Windows Form) ช่วงนี้ได้เขียนบทความเกี่ยวกับพื้นฐานของ Web Service ได้พอสมควร มีทั้งภาษา .Net และก็ php หรือการเรียก Web Service ข้ามภาษากัน เช่น PHP เรียก Web Service ของ .NET ซึ่งก็สามารถกลับไปอ่านได้ในบทความก่อน ๆ นี้ และบทความนี้เป็นภาคต่อของการสร้าง Web Service ด้วย PHP แต่จะเป็นการเรียก Web Service ด้วย Application ของ .NET ในรูปแบบของ ASP.NET และ Windows Form


Screenshot

PHP Create Web Service and Call by ASP.NET (.NET Framework)

ASP.NET เรียก Web Service ของ PHP


PHP Create Web Service and Call by ASP.NET (.NET Framework)

Windows Form เรียก Web Service ของ PHP


Download nusoap library
http://sourceforge.net/projects/nusoap/


สำหรับ PHP สร้าง Web Service จะใช้ Library ของ NuSoap สามาถดาวน์โหลดได้จากลิ้งค์ข้างบน หรือจะดาวน์โหลด Source ทั้งหมดได้จากส่วนท้ายของบทความ

บทความนี้จะสร้าง Service แบบง่าย ๆ ด้วยการรับค่า Name และ Email จาก Client และมีการส่งค่ากลับไปยัง Client เช่น

Client
Name = Weerachai Nukitram
Email = [email protected]


ตัวอย่างค่าที่ Client ส่งไปยัง Web Service

Web Service
Hello, World! Khun (Weerachai Nukitram , Your email : [email protected])


สิ่งที่ Web Service ส่งค่ากลับมา


ขั้นตอนแรกเริ่มจากการสร้าง Web Service ของ PHP

WebServiceServer.php
<?php
		require_once("lib/nusoap.php");
		 
		//Create a new soap server
		$server = new soap_server();
		 
		//Define our namespace
		$namespace = "http://localhost/nusoap/index.php";
		$server->wsdl->schemaTargetNamespace = $namespace;
		 
		//Configure our WSDL
		$server->configureWSDL("HelloWorld");
		 
		// Register our method and argument parameters
        $varname = array(
                   'strName' => "xsd:string",
				   'strEmail' => "xsd:string"
        );
		$server->register('HelloWorld',$varname, array('return' => 'xsd:string'));
		 
		function HelloWorld($strName,$strEmail)
		{
			return "Hello, World! Khun ($strName , Your email : $strEmail)";
		}
		 
		// Get our posted data if the service is being consumed
		// otherwise leave this data blank.
		$POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
		 
		// pass our posted data (or nothing) to the soap service
		$server->service($POST_DATA);
		exit(); 
?>


คำอธิบายสั้น ๆ
ใน Code จะมีการสร้าง Service ที่ชื่อว่า HelloWorld และมี Method ที่ชื่อว่า HelloWorld และประกอบด้วย Parameters หรือ Argument 2 ตัวคือ $strName และ $strEmail ส่วน reutn นั้นคือค่าตัวแปรสำหรับการ return ค่ากลับไปยัง Client








สร้างไฟล์ WebServiceServer.php และจัดเก็บไว้ใน nusoap\WebServiceServer.php ภายใต้ root ของ Server และตอนที่รัน Web Service ของ PHP จะได้ URL

http://localhost/nusoap/WebServiceServer.php


PHP Create Web Service and Call by ASP.NET (.NET Framework)

ในตัวอย่างจะเห็น URL ของ Web Service ประกอบด้วย Method ชื่อว่า HellowWorld ให้คลิกที่ WSDL เพื่อดูรูปแบบของ XML ที่อยู่ใน Format ของ WSDL ซึ่งตอนที่ Client เรียกใช้งาน Web Service จะเรียกด้วย URL นี้

http://localhost/nusoap/WebServiceServer.php?wsdl


PHP Create Web Service and Call by ASP.NET (.NET Framework)

รูปตัวอย่าง WSDL ใน Format ของ XML ซึ่งจะบ่งบอกรายละเอียดของ Web Service และช่องทางที่ Client จะสามารถเรียกใช้งานได้

สำหรับการสร้าง Web Service ด้วย NuSoap จะง่าย ๆ และสั้นเพียงเท่านี้ หากต้องการใช้ PHP เรียก Web Service ที่สร้างด้วย PHP สามารถอ่านได้ที่บทความนี้

PHP สร้าง Web Service และเรียก Web Service ที่สร้างด้วย PHP







เรียกใช้งาน Web Service ของ PHP ด้วย ASP.NET

ให้สร้าง Project ที่เป็น ASP.NET Web Application หรือ ASP.NET WebSite

PHP Create Web Service and Call by ASP.NET (.NET Framework)

ออกแบบ Screen และ Layout ดังรูป

PHP Create Web Service and Call by ASP.NET (.NET Framework)

คลิกขวาที่ Project ของ ASP.NET และเลือก Add Web Reference

PHP Create Web Service and Call by ASP.NET (.NET Framework)

กรอก URL ของ PHP Web Service ที่ได้จากนั้นตอนในส่วนของการสร้าง PHP Web Service

http://localhost/nusoap/WebServiceServer.php?wsdl


คลิกที่ Go และเมื่อโหลด Web Service เสร็จก็จะแสดงชื่อ Service Name และ Method ของ PHP Web Service ให้กำหนด Web reference name : ที่จะใช้เรียกใน Class ดังรูป

PHP Create Web Service and Call by ASP.NET (.NET Framework)

แสดง Web Service ที่ถูก Add Reference เข้ามาใน Project และในกรณีที่ Web Service ฝั่ง Server มีการแก้ไขหรือ Update เราจะต้องตามมา Update ที่ Project ของ ASP.NET ด้วย ด้วยการคลิกควาที่ Reference และเลือก Update.....

PHP Create Web Service and Call by ASP.NET (.NET Framework)

กลับมาที่ Web Form ของ .aspx ให้สร้าง Event ของ Button และใช้คำสั่ง New Class ของ Web Service ดังรูป ซึ่งเมื่อเรียกใช้ Method ของ PHP Web Service จะแสดง Argement หรือ Parameter ที่จะต้องส่งไปยัง PHP Web Service ที่อยู่ฝั่ง Server ดังรูป

Code เต็ม ๆ

- สำหรับภาษา VB.NET

Partial Public Class _Default
    Inherits System.Web.UI.Page

    Protected Sub btnCall_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnCall.Click
        Dim myHW As New myHelloWorld.HelloWorld
        Me.lblResponse.Text = myHW.CallHelloWorld(Me.txtName.Text, Me.txtEmail.Text).ToString()
    End Sub

End Class



- สำหรับภาษา C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
public partial class _Default : System.Web.UI.Page
{

	protected void btnCall_Click(object sender, EventArgs e)
	{
		myHelloWorld.HelloWorld myHW = new myHelloWorld.HelloWorld();
		this.lblResponse.Text = myHW.CallHelloWorld(this.txtName.Text, this.txtEmail.Text).ToString();
	}

}


ทดสอบการเรียก Web Service

PHP Create Web Service and Call by ASP.NET (.NET Framework)

เมื่อกรอก Name และ Email ดังรูป ASP.NET จะมีการเรียก Web Service ที่อยู่ในฝั่งของ PHP Web Service และ PHP ที่บริการ Web Service อยู่จะทำการ return ค่ากลับมาดังรูป

สำหรับการเรียกใช้งาน Web Service ของ PHP ด้วย ASP.NET ที่ง่าย ๆ และจบเพียงเท่านี้ สามารถดาวน์โหลดได้จากส่วนล่างของบทความ












เรียกใช้งาน Web Service ของ PHP ด้วย Windows Form Application (.NET)

สร้าง Project ด้วย Windows Form Application ใน Visual Studio หรือ Tools อื่น ๆ

PHP Create Web Service and Call by ASP.NET (.NET Framework)

สร้างและออกแบบ Form สำหรับเรียกใช้งาน Web Service ดังรูป

PHP Create Web Service and Call by ASP.NET (.NET Framework)

คลิกวาที่ Project เลือก Add Service Reference

PHP Create Web Service and Call by ASP.NET (.NET Framework)

เราจะทำการเรียกแบบ Web Reference ในที่นี้ให้เลือก Advanced....

PHP Create Web Service and Call by ASP.NET (.NET Framework)

ให้คลิกที่ Add Web Reference ดังรูปประกอบ

PHP Create Web Service and Call by ASP.NET (.NET Framework)

กรอก URL ของ PHP Web Service ที่ได้จากนั้นตอนในส่วนของการสร้าง PHP Web Service

http://localhost/nusoap/WebServiceServer.php?wsdl


คลิกที่ Go และเมื่อโหลด Web Service เสร็จก็จะแสดงชื่อ Service Name และ Method ของ PHP Web Service ให้กำหนด Web reference name : ที่จะใช้เรียกใน Class ดังรูป

กลับมาที่ Windows Form ให้สร้าง Event ที่ปุ่ม Button และกำหนดคำสั่งดังต่อไปนี้

- สำหรับภาษา VB.NET

Public Class Form1

    Private Sub btnCall_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCall.Click
        Dim myClsHW As New myHelloWorld.HelloWorld
        Me.lblResponse.Text = myClsHW.CallHelloWorld(Me.txtName.Text, Me.txtEmail.Text).ToString()
    End Sub

End Class


- สำหรับ C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
public class Form1
{

	private void btnCall_Click(System.Object sender, System.EventArgs e)
	{
		myHelloWorld.HelloWorld myClsHW = new myHelloWorld.HelloWorld();
		this.lblResponse.Text = myClsHW.CallHelloWorld(this.txtName.Text, this.txtEmail.Text).ToString();
	}

}


ทดสอบการรันโปรแกรม

PHP Create Web Service and Call by ASP.NET (.NET Framework)


สรุป
บทความนี้เป็นเพียงพื้นฐานการสื่อสารระว่าง Web Service ที่ให้บริการ กับ Client ที่ทำการ Call ตัว Web Service แบบง่าย ๆ เพราะทางผู้เขียนบทความเองก็ยังเป็นมือใหม่กับ Web Service อยู่มาก ได้อาศัยการอ่านจากเว็บทั้งในแะนอกประเทศมาเรียบเรียงและเขียนบทความให้เข้าใจง่าย และ ตัวอย่างการดัดแปลงให้สามารถนำไปใช้งานได้หลากหลาย ซึ่งถ้าได้อ่านบทความนี้จบหรือทำตามจนเข้าใจ เราจะได้เห็นแนวทางการที่จะนำ Web Service ไปใช้งานในด้านการเขียนโปรแกรมได้อย่างดี

ผิดพลาดประการใดขออภัยมา ณ ที่นี้ด้วยครับ


Download Code !!




บทความอื่น ๆ ที่เกี่ยวข้อง
Go to : PHP Create - Call Web Service สร้างและเรียกเว็บเซอร์วิส ด้วย PHP (NuSoap and Soap)


   
Share
Bookmark.   

  By : TC Admin
  Article : บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ
  Score Rating :
  Create Date : 2012-05-09
  Download : No files
Sponsored Links
ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


Hit Link
   







Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่