Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Alguém sabe se tem como saber o que um objeto da classe SoapParam gera?
Por exemplo se fosse possível exibir o resultado: echo new SoapParam('senha', 'usuario');
o que me retornaria?
Obrigado
Olá Evandro, o problema é que estou passando alguns parâmetros para um webservice supostamente de forma correta, entretando o webservice me retorna erro como se eu estivesse errando os dados.
Veja a que me refiro:
// Dados a serem passados para o webservice.
$dadospassados = array(
new SoapParam('meuusuario', 'Login'),
new SoapParam('minhasenha', 'Senha')
)
$ws = new SoapClient('endereco?WSDL');
$retorno = $ws->__soapCall('metodo', array($dadospassados));
// Aqui deveria retornar sucesso, mas retorna senha inválida!
echo $retorno->mensagem;
// Por isso eu queria saber o que estou passando mas se eu fizer
// algo como isso:
var_dump($dadospassados);
// Só consigo ver os dados da instancia da classe, que parecem
// corretos. Queria ver o que realmente está
// sendo passado no xml para o webservice.$dadospassados
já é um Array.
Você não precisa envolvê-lo dentro de outro antes de enviar para __soapCall
$retorno = $ws->__soapCall('metodo', array($dadospassados));
$retorno = $ws->__soapCall('metodo', $dadospassados);$instanciaDeSoapClient->umaOperacaoQualquer( $parametro );
var_dump( $instanciaDeSoapClient->__getLastRequest() ); //vai mostrar o XML enviado
var_dump( $instanciaDeSoapClient->__getLastResponse() ); //vai mostrar o XML da resposta
:seta: __getLastRequest
:seta: __getLastResponse
Olá João Batista Neto, é exatamente isso que eu queria, obrigado :)
Evandro vou verificar novamente o codigo para achar possíveis inconsistências como essa que você citou.
Por hora era isso que eu precisava.
>
Olá,
Alguém sabe se tem como saber o que um objeto da classe SoapParam gera?
Por exemplo se fosse possível exibir o resultado: echo new SoapParam('senha', 'usuario');
o que me retornaria?
Obrigado
Ué, gera uma instância de SoapParam!!
São apenas wrappers para se enquadrar na interface proposta pela biblioteca SOAP. Isso garante que você envie os dados encapsulados da forma que foi projetado.