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?

questionAnswers(2)

yourAnswerToTheQuestion