CorteX 0 Denunciar post Postado Março 20, 2007 Olá a todos!usuario novinho no fórum..rs...vamos lá...estou fazendo uma integração de webservices junto ao PHP, e de acordo com o que li, teoricamente para se captar informações de um WS são 4 passos básicos: - indicar a localização do servidor (parametro do "soapclient") - criar o cliente (classe "soapclient") - captar as informações (chamar a função específica e fornecer atributos) - imprimir ('print' ou 'echo')estou certo ou pulei algum passo?Rodrigo. Compartilhar este post Link para o post Compartilhar em outros sites
fitinge 0 Denunciar post Postado Março 21, 2007 eu acho que para uma explicação melhor, nada melhor que um exemplo prático... Eu utilizo uma classe chamada nusoap para criar os webservices e os clientes... Aqui um exemplo de como fica um cliente o php: require_once ("lib/nusoap.php");$cliente = new soapclient("http://endereco_do_webservice.php");$result = $cliente->call('nome_da_operacao', 'variavel_que_vai_passar');print_r($result); Compartilhar este post Link para o post Compartilhar em outros sites
CorteX 0 Denunciar post Postado Março 21, 2007 exatamente Fitinge, foi o que teoricamente fiz...tbm uso o NuSOAP=]vou postar o código, ok?<? //importando NuSOAP require_once("nusoap.php"); //Atribuindo o link para o acesso! $wsdl= "#link"; //instaciando a classe soapclient $cliente = new soapclient ($wsdl); $user = '#usuario_de_autenticação'; //o server exige autenticação, saca? $pass = '#senha_de_acesso'; //setando o login... $cliente -> setCredentials($user, $pass); print "ok"; //só pra saber o estado do código print "<br>Recebimento de informações iniciado..."; //essa linha tbm... $users = '<GetUsuarios xmlns="#link_que_peguei_no_xml">'; $array = array($users); $ausers = $cliente -> call('GetUsuarios', $array) ; if ($cliente -> getError()){ echo '<br><br><br>ERROR<br><br>'.$cliente->getError(); } else { echo '<br>ok - até então, Sem Erros!'; //se passasse, apresentaria essa msg, mas... }?>só não mandei printar pq ainda tá dando erro..."ERRORsoap:Client: Server did not recognize the value of HTTP Header SOAPAction: ." Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Março 21, 2007 Em qual linha do código ocorre o problema? Compartilhar este post Link para o post Compartilhar em outros sites
CorteX 0 Denunciar post Postado Março 21, 2007 se eu comentar essa linha"$ausers = $cliente -> call('GetUsuarios', $array) "passa sem erros e chega na msg final...mas, não sei se realmente o erro está aí ou se tenho que definir esse cabeçalho SOAPAction...obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Março 21, 2007 Essa linha esta correta? $users = ''; Compartilhar este post Link para o post Compartilhar em outros sites
CorteX 0 Denunciar post Postado Março 21, 2007 suponho que sim, pois é o meu "namespace" que vou utilizar, a peguei do seguinte xml (que porventura é o onde estão contidas as informações que preciso) POST /tdmaxservicesfacil/exportacao.asmx HTTP/1.1 Host: 10.250.250.81 Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.transdatasmart.com.br/GetUsuarios" <?xml version="1.0" encoding="utf-8"?> <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> <GetUsuarios xmlns="http://www.transdatasmart.com.br/" /> </soap:Body> </soap:Envelope> Compartilhar este post Link para o post Compartilhar em outros sites
CorteX 0 Denunciar post Postado Março 22, 2007 acabei de realizar um teste de comunicação entre minha maquina (interna na rede) e o webservice (server externo) e a comunicação está ok, só que a aplicação é proveniente de um executável...o problema está mesmo na codificação, alguém sabe o que essa SOAPAction define, como, qdo e pq tenho que fazê-la? Compartilhar este post Link para o post Compartilhar em outros sites
CorteX 0 Denunciar post Postado Março 23, 2007 ^||LL UP^^alguem ao menos conhece um livro pra consulta? Compartilhar este post Link para o post Compartilhar em outros sites