如何通过字符串值我的web服务写在c#从php


How to pass string value to my web service written in C# from php?

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

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

这是php代码调用我的web服务…

<?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;
}

这两者的区别是什么?

$client->call(' showproviders ',$param);返回一个Array元素,所以无论何时回显一个数组元素,它被看作是在浏览器中编写的array。要打印数组,您可以这样做使用print_r(数组名)或var_dump(数组名);

在接下来的代码中,你使用foreach循环,所以它将数组元素解析为键和值对..

请不要使用call(' showproviders ',$param);由于call函数已被弃用,请参阅链接http://php.net/manual/en/soapclient.call.php

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

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