Davi RJ 0 Denunciar post Postado Junho 26, 2015 Boa Tarde a Todos!Preciso de uma ajuda com uma certa urgência!Já fiz um outro post aqui sobre isso e acabei fechando. Não sou muito acostumado a programar em PHP, e caiu no meu colo um projeto de Webservice.Só que Estão exigindo que use o padrão deles que é o NUSOAP. :unsure: Eu gostaria muito de modificar, pois pelo que me foi informado aqui mesmo o nusoap está meio descontinuado. Mas de qualquer forma fiz um teste para ver se funcionava o que estou querendo e estou recebendo um erro que não estou entendendo muito bem, alguém pode me ajudar?Segue o meus server.php <?phprequire_once 'lib/nusoap.php';$server->wsdl->addComplexType('cadastrar', 'complexType', 'struct', 'all','',array( 'empresa' =>array ('name'=>'empresa','type'=>'xsd:string') ,'nome' =>array ('name'=>'nome','type'=>'xsd:string') ,'email' =>array ('name'=>'email','type'=>'xsd:string') ,'ddd' =>array ('name'=>'ddd','type'=>'xsd:string') ,'tel' =>array ('name'=>'tel','type'=>'xsd:string') ,'msg' =>array ('name'=>'msg','type'=>'xsd:string') ));$server->register('cadastrar', array('dados'=>'tns:cadastro'), array('return'=>'xsd:string'), $namespace, $namespace.'#cadastrar', 'rpc', 'encoded', '' ); function cadastrar($dados){ return $dados['empresa'];}$request = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';$server->service($request);?> E Meu cliente.php <?phpif ((string)$_GET['action'] == 'get_data') { // includes nusoap classes require('lib/nusoap.php'); // $client = new nusoap_client('http://webservice.zeus.com.br/soap/fiergs/processo_seletivo/server.php?wsdl&debug=1', 'wsdl'); $client = new nusoap_client('http://webservice.zeus.com.br/soap/fiergs/processo_seletivo/server.php?wsdl', 'wsdl'); $dados = array( 'empresa' => $_POST['empresa'], 'nome' => $_POST['nome'], 'email' => $_POST['email'], 'ddd' => $_POST['ddd'], 'tel' => $_POST['tel'], 'msg' => $_POST['msg'] ); $result = $client->call('cadastrar', array('cadastro'=> $dados)); echo $result; // check for errors if (!$client->getError()) { // print results print '<h1>Current data for: ' . $l_aParam[0] . ':</h1><ul><li>DEGREES: ' . $l_stResult['degrees'] . '°C</li><li>FORECAST: ' . $l_stResult['forecast'] . '</li></ul>'; } // print error description else { echo '<h1>Error: ' . $client->getError() . '</h1>'; } } // output search form print ' <form name="input" action="'.$_SERVER['PHP_SELF'].'?action=get_data" method="POST"> Your empresa: <input type="text" name="empresa"> <br> Your nome: <input type="text" name="nome"> <br> Your email: <input type="text" name="email"> <br> Your ddd: <input type="text" name="ddd"> <br> Your tel: <input type="text" name="tel"> <br> Your msg: <input type="text" name="msg"> <br> <input type="submit" value="Search"> </form> '; ?> Mas sempre que eu envio algum valor me apresenta o seguinte erro: Error: wsdl error: XML error parsing WSDL from http://webservice.zeus.com.br/soap/fiergs/processo_seletivo/server.php?wsdl on line 2: Not well-formed (invalid token) Alguém pode me ajudar? Ou ser for o caso, se alguem tem uma solução melhor que essa, tipo usando outro tipo de serviço e puder me dar uma ajuda aqui... eu iria agradecer muito! Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 26, 2015 Olha esse erro linha 2.. oke tem nela é a chamada do nusoap... o caminho e o nome do arquivo estão corretos? Compartilhar este post Link para o post Compartilhar em outros sites
Davi RJ 0 Denunciar post Postado Junho 29, 2015 Opa... Olha esse erro linha 2.. oke tem nela é a chamada do nusoap... o caminho e o nome do arquivo estão corretos? Sim está, pelo menos está na pasta lib... Mas aparentemente ele está reclamando do formato do xml Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 29, 2015 Cara, eu tenho um sistema utilizando nosuap, mas está em casa.. de noite eu vou ver e passo como utilizei certinho e a versão.. Nele eu tive uns problemas que demorei pra resolver nas pesquisas, um tipo de variável... nesse meu está funcionando certinho.. dai depois posto aqui... Compartilhar este post Link para o post Compartilhar em outros sites
Davi RJ 0 Denunciar post Postado Junho 29, 2015 Pow cara! Valeu mesmo! Mudei um pouco o código, para ficar o mais simples possível e parou de dar o erro, porém não apresenta nenhum resultado.... Olha isso: servidor.php <?php include 'lib/nusoap.php'; $servidor = new nusoap_server(); $servidor -> configureWSDL('urn.Servidor'); $servidor->register('exemplo', array('nome'=>'xsd:string' , 'idade'=>'xsd:string'), array('retorno'=>'xsd:string'), 'urn:Servidor.exemplo', 'rpc', 'encoded', 'Processo Seletivo' ); function exemplo ($nome, $ideade){ return($nome.'-->'.$idade); } $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ''; $servidor->service($HTTP_RAW_POST_DATA); $handle = fopen('log.xml', 'w'); fwrite($handle, $HTTP_RAW_POST_DATA); fclose($handle); ?> E cliente.php: <?php require('lib/nusoap.php'); $client = new nusoap_client('http://webservice.zeus.com.br/soap/fiergs/processo_seletivo/servidor.php?wsdl', 'wsdl'); $dados = array( 'nome' => 'Davi', 'idade' => 39 ); $result = $client->call('exemplo', $dados); echo utf8_encode($result); print ('Resuldato ==>'. $result); ?> Seria alguma coisa de configuração ou versão do PHP? Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 29, 2015 tinha umas moages do client no meu caso tb não trazer nada quando testava ele na mesma máquina que estava o server.. tipo server na sua máquina e vc executando o client na sua máquina.. eu colocava o server na NET em um servidor meu e testava o client na minha maquina chamando akele server na net... Compartilhar este post Link para o post Compartilhar em outros sites
Davi RJ 0 Denunciar post Postado Junho 29, 2015 Blz , vou testar de fora então! Se vc puder me ver aquele código que tu falou! eu agradeceria muito! :) :D Compartilhar este post Link para o post Compartilhar em outros sites