یک وب سرویس ساده و ارتباط آن با php

دوشنبه 4 خرداد 1394

در این مقاله می خام طریقه ارتباط یک وب سرویس که در Asp.net در یک هاست ویندوز هست قرار دارد را با php به آن متصل شده و پارامتر (ها) را ارسال کنیم و نتیجه را مشاهده یا حالا مقداری که وب سرویس برای ما بازبرمیگرداند .

یک وب سرویس ساده و ارتباط آن با php

برای اینکار ابتدا در vs خود یک پروژه جدید ی ایجاد کنید.

برای مثال من یک پروژه وب ایجاد کردم بعد یک وب سرویس به آن اد کردم:

وبعد فیال webservice.cs nv پوشه App_code   را باز کرده به صورت زیر تغییر می دهم:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

/// <summary>
/// Summary description for WebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {

    public WebService () {

        //Uncomment the following line if using designed components 
        //InitializeComponent(); 
    }

    [WebMethod]
    public string SumToNum(int a, int b)
    {
        return (a + b).ToString();
    }
    
}

و حالا پروژه رو پابلیش می کنم.روی هاست ویندوز خود قرار دهید:

وبعد نوبت میرسه نحوه ارتباط دادن با php

ابتدا باید از nusoap فایل های که در پوشه lib استفاده کنیم در صورتی که بروی سرور soup غیر فعال باشد اگر فعال باشد نیازی باه فایل نیست.ما در این پروژه از فایل استفاده می کنیم.

<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

</head>
<body>
<?php
require_once('lib/nusoap.php');
  
 
 $wsdl="مسیر وب سرویس?WSDL";
$client=new nusoap_client($wsdl, 'WSDL');
$error = $client->getError();
if ($error) {
    die("client construction error: {$error}\n");
}
 $param=array(‘a’=>12,’b’=>22); 
	 
   $answer = $client->call(SumToNum,   array('parameters' => $param), '', '', false, false); 

				$error = $client->getError();
if ($error) {
   // print_r($client->response);
    //print_r($client->getDebug());
    die();
	echo 'Not Connetction';
 }
 
 $err=$answer['SumToNumResult'];
 echo $err;
 
 ?> 
 </body>
 </html>

فایل ها رو ضمیمه می کنم.

امید وارم که بتونی ازش استفاده کنید.

نمونه هم در kind.mrchsoft.com

 

فایل های ضمیمه

mrchsoft

نویسنده 12 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید