我想调用一个写入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;
}
这两者之间的区别是什么......
请指导我摆脱这个问题...
答案 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
由于该函数已被弃用,因此可能会在以后产生问题。