从php客户端调用ASP .NET Web服务

时间:2010-06-19 18:08:50

标签: c# php asp.net web-services nusoap

我有一个简单的ASP .NET Web服务正在运行,我想从php客户端调用它。我正在使用nusoap soap客户端。

以下是客户端php代码:

<?php
require_once('lib/nusoap.php');       
$wsdl="http://localhost:64226/Service1.asmx?wsdl";
$client=new soapclient($wsdl, 'wsdl');  
$param=array('number1'=>'2', 'number2'=>'3');
echo $client->call('add',$param);
?>

我在Web服务中创建的Web方法如下:

namespace WebService3
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class Service1 : System.Web.Services.WebService
{

    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }

    [WebMethod]
    public string add(int x, int y)
    {
        int z = x + y;
        return z.ToString();
    }
}
}

然而,当我运行上面的PHP代码时,它不会返回传递参数的附加值。而是预览“阵列”一词

我没有PHP编程经验。我做错了上面的代码吗?需要一个快速的解决方案来解决这个问题,并从PHP调用Web服务。

提前致谢!

2 个答案:

答案 0 :(得分:0)

替换此行

echo $client->call('add',$param);

这一个

echo $client->__soapCall('add', $param);

另见this question

答案 1 :(得分:0)

现在,如果你跑了 echo $ result [“addResult”];

它应该很好地打印输出。