標籤:style blog http io ar color os 使用 sp
在VS2010中建立WebService:Finance.asmx
代碼如下:
using System.Web.Services;namespace WebTest.WebService{ /// <summary> /// Finance 的摘要說明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允許使用 ASP.NET AJAX 從指令碼中調用此 Web 服務,請取消對下行的注釋。 // [System.Web.Script.Services.ScriptService] public class Finance : System.Web.Services.WebService { [WebMethod] public int add(int a,int b) { return a + b; } }}
建立PHP檔案:test.php
代碼如下:
<?php$client = new SoapClient(‘http://localhost/WebService/Finance.asmx?wsdl‘);if ($client !== false){ //解決中文亂碼問題 $client->soap_defencoding = ‘utf-8‘; $client->decode_utf8 = false; $client->xml_encoding = ‘utf-8‘; // 使用關聯陣列,鍵名對應C#方法的參數名 $params = array(‘a‘ => 1, ‘b‘ => 2); // 可以使用 $client->__soapCall() 或 $client->WebService方法名() 兩種方式調用 // 使用 $client->__soapCall() 調用時應將 $param 再包裹一層 try { $result = $client->__soapCall("add", array("parameters" => $params)); print_r($result->addResult); echo "<br/>"; // 使用 $client->WebService方法名() 調用時無需另行包裹 $param $params = array(‘a‘ => 3121, ‘b‘ => 2); $result = $client->add($params); print_r($result->addResult); } catch(Exception $ex) { echo $ex->getMessage(); }}?>
PHP 調用C# WebService