Depurando Chamada SOAP PHP
Eu sou novo no SOAP e estou lidando com um serviço da Web onde parece que ninguém fez interface usando o PHP anteriormente. Eles não têm código de exemplo, exceto C #, mas eu tenho isso. O eServices.asmx fornece WSDL se essa for a maneira correta de dizer isso.
O erro que estou recebendo é "O servidor não reconheceu o valor do cabeçalho HTTP SOAPAction:" com esses dois pontos de treinamento sugerindo que nenhum valor seja passado, talvez.
Meu código fica assim:
$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);
mas também tentei:
$param = array('usrname','pass',$xml_data);
$res = $soapclient->call('UpdateData',$param, $namespace);
O Google sugere que esse erro é um problema de espaço para nome. O código C # que tenho possui apenas uma referência de espaço para nome:
[System.Web.Services.WebServiceBindingAttribute(Name="eServicesSoap", Namespace="http://www.example.com/webservices/")]
Se eu despejar $ soapclient na tela antes da chamada da função, vejo que ele recebeu dados do eServices.asmx.
Não tenho certeza de como depurar isso e os funcionários do serviço não estão familiarizados com a interação com o serviço fora de seu .NET IDE.
Alguma ideia? Conselhos?