当前位置:编程学习 > C#/ASP.NET >>

php怎么调用asp.net的webservice

我想调用Discuz!X2.5,使论坛注册的账号直接可以登录并使用asp.net程序 --------------------编程问答-------------------- 给你一个例子,你参考一下

在VS2010中新建WebService:Finance.asmx

代码如下:

using System.Web.Services;

namespace WebTest.WebService
{
///
/// Finance 的摘要说明
///
[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();
}
}

 

?>
--------------------编程问答-------------------- 1楼正解,可参考下 --------------------编程问答--------------------
引用 1 楼 gxingmin 的回复:
给你一个例子,你参考一下

在VS2010中新建WebService:Finance.asmx

代码如下:



C# code
?



12345678910111213141516171819202122

using System.Web.Services;   namespace WebTest.WebService { /// /// Finance 的……

同意!
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,