Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Php - Webservice Nusoap -Error

$
0
0

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
 

<?php
require_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
 

<?php
   
if ((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!
 

Viewing all articles
Browse latest Browse all 14190

Trending Articles