Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Brxlx

Consumir WebService ComplexType

Recommended Posts

Olá, pessoal!

 

Estou quebrando a cabeça à dias para conseguir consumir corretamente um WebService que preciso entregar para o chefe!

 

O problema é que não sei muito de PHP e o tipo dos dados nele criados são do tipo complextype. Implementei outros mais simples, com strings, e havia conseguido. Porém, nesse caso, não consigo buscar nenhum dado, sempre retorna erro de conversão...

 

O link do WebService é este: http://www.safetrace.com.br/safefrigorifico/services/ServicoConsulta.jws?wsdl

 

Criei este código, porém o vetor de retorno fica nulo, tem 21 posições e sem dados:

 

<?php
<soap:Body>
<strCliente>
<xml>
<consultarDados>
<codigo>1</codigo>
</consultarDados>
</xml>
</strCliente>
</ConsultarDados>
</soap:Body>
</soap:Envelope>';
$result = $client->consultarDados($args);
echo 'Response: </br>';
print_r($result);
?>

 

 

 

 

Já pesquisei bastante, mas não consegui exemplo parecido, não sei exatamente como consumir esses dados, alguém poderia me ajudar?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora consegui criar um cliente que acessa alguns dados, mas não sei como buscar outros dados de busca, alguma ideia aí?

 

Segue código:

 

 

<?php
define('NEWLINE', "<br />\n");
// SOAP client
$options = array
(
'style' => SOAP_RPC,
'use' => SOAP_ENCODED,
'trace' => true // in conjunction with $soapClient->__getLastRequest() below
);
$soapClient = new SoapClient(null, $options);
// SOAP header
$elementName = 'Consulta';
$content->consultarDadosToken = new SoapVar($usernameToken, SOAP_ENC_OBJECT, null, null, null, $nsHeader);
$soapHeader = new SoapHeader($nsHeader, $elementName, $content);
$soapHeaders[] = $soapHeader;
$soapClient->__setSoapHeaders($soapHeaders);
// SOAP call
$method = 'consultarDados';
$parameters = array
(
new SoapParam('1007652300'));
$success = true;
try
{
$result = $soapClient->__soapCall($method, $parameters);
}
catch (SoapFault $fault)
{
echo "Fault code: {$fault->faultcode}" . NEWLINE;
echo "Fault string: {$fault->faultstring}" . NEWLINE;
$success = false;
}
echo $soapClient->__getLastRequest(); // output the request XML
if ($success)
{
echo "<pre>\n";
print_r($result);
echo "</pre>\n";
}
if ($soapClient != null)
{
$soapClient = null;
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.