如何将字符串值传递给我用C#编写的我的Web服务?

时间:2012-12-31 06:12:28

标签: php .net soap nusoap

我想调用一个写入asp.net(C#)的soap web服务。实际上,web方法将一个字符串作为参数并返回一些字符串作为输出。

在客户端(PHP)使用 nusoap 访问Web服务。

这是调用我的网络服务的PHP代码......

<?php

require_once('nusoap/lib/nusoap.php');
$wsdl="http://localhost/suppliers.asmx?WSDL";
$param=array('name'=>'saran');

$client = new soapclient($wsdl,'wsdl');
echo $client->call('ShowSuppliers',$param);
?>  

但是当我运行此代码时,echo语句只是在浏览器中显示数组 ...

我不知道这里有什么问题......

但是,当我试图遵循这样的Broncha方法时,它的效果很好......

我没有直接使用echo语句,而是尝试了这个

$result=$client->call('ShowSuppliers',$param);

foreach($result as $key => $value)
{
  echo $value;
}

这两者之间的区别是什么......

请指导我摆脱这个问题...

1 个答案:

答案 0 :(得分:2)

$客户端 - &GT;调用( 'ShowSuppliers',$ PARAM);返回一个Array元素,以便每次回显时 一个数组元素,它被视为在浏览器中编写的数组。要打印数组,您可以 使用print_r(数组名称)或var_dump(数组名称);。

在下一个代码中,您正在使用foreach循环,因此它将数组元素解析为键和值对。

请不要使用电话('ShowSuppliers',$ param);因为已弃用调用函数,请参阅链接http://php.net/manual/en/soapclient.call.php

请使用soapCall功能,请参阅链接http://php.net/manual/en/soapclient.soapcall.php

由于该函数已被弃用,因此可能会在以后产生问题。