У меня есть простой веб-сервис ASP.NET, и я хочу позвонить ему из php-клиента. Я использую nusoap soap client.Вызов веб-службы ASP .NET от php-клиента
Ниже приведен код на стороне клиента 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);
?>
Веб методы я создал в веб-службы являются:
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.
Заранее благодарен!
, когда я заменяю с $ клиента -> __ soapCall («добавить», $ параметров) дает следующее сообщение об ошибке: Вызов неопределенной метод SoapClient :: __ soapCall() – chathuradd
@chathuradd О, я думал, что вы использовали SoapClient в комплекте с PHP. В этом случае обратитесь к документации вашей библиотеки мыла. – Artefacto
Теперь я использую SoapClient в комплекте с php, и мне удалось заставить его работать :), но с использованием другого кода: класс Добавление { public $ x = 12; public $ y = 20; } $ client = new SoapClient ('http: // localhost: 64226/Service1.asmx? Wsdl'); $ result = $ client-> add (новое дополнение()); echo $ result-> addResult; Но функция __soapCall, о которой вы упоминали, не работает, вероятно, из-за некоторой ошибки при передаче параметров, которую я точно не мог понять. – chathuradd