Brxlx 0 Denunciar post Postado Março 17, 2014 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 $client = new SoapClient('http://www.safetrace.com.br/safefrigorifico/services/ServicoConsulta.jws?wsdl'); $args = '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ConsultarDados xmlns="http://localhost/ServicoConsulta.jws.xml"> <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
Brxlx 0 Denunciar post Postado Março 18, 2014 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 ( 'location' => 'http://www.safetrace.com.br/safefrigorifico/services/ServicoConsulta.jws?wsdl', 'uri' => 'http://example.com/sample/namespace/data', 'style' => SOAP_RPC, 'use' => SOAP_ENCODED, 'trace' => true // in conjunction with $soapClient->__getLastRequest() below ); $soapClient = new SoapClient(null, $options); // SOAP header $nsHeader = 'http://www.safetrace.com.br/safefrigorifico/services/ServicoConsulta.jws?wsdl'; $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