Я новичок в SOAP и имею дело с веб-сервисом, где, казалось бы, никто ранее не взаимодействовал с использованием PHP.У них нет примера кода, кроме C #, но у меня есть.eServices.asmx предоставляет WSDL, если это правильный способ сказать это.
Я получаю сообщение об ошибке «Сервер не распознал значение HTTP-заголовка SOAPAction:» с этим обучающим двоеточием, указывающим, что значение не передано., может быть.
Мой код выглядит так:
$URL = "http://nolaflash.example.com/xxxWS/eServices.asmx";
$namespace="http://www.example.com/webservices/";
include("SOAP/Client.php");
$soapclient = new SOAP_Client($URL);
$xml_data = // valid XML is here;
$res = $soapclient->UpdateData('usrname','pass',$xml_data);
, но я также попытался:
$param = array('usrname','pass',$xml_data);
$res = $soapclient->call('UpdateData',$param, $namespace);
Поиск в Google предполагает, что эта ошибка является проблемой пространства имен.У моего кода C # есть только одна ссылка на пространство имен:
[System.Web.Services.WebServiceBindingAttribute(Name="eServicesSoap", Namespace="http://www.example.com/webservices/")]
Если я сбросил $ soapclient на экран до вызова функции, я вижу, что он получил данные от eServices.asmx.
Я не уверен, что делать с отладкой, а сотрудники службы не знакомы с взаимодействием со службой вне своей среды .NET IDE.
Есть какие-нибудь мысли?Совет?