How to feed SELECT with Webservice SOAP in PHP?

Asked

Viewed 300 times

1

I have to list one in a SELECT (html) products of a company using a webservice. Some example code ?

Client code:

<?php
    //cliente

    //inclusao do arquivo NUSOAP
    require_once('lib/nusoap.php');

    //criacao de uma instancia do cliente
    $client = new nusoap_client('http://127.0.0.1/webservicephp/server2.php');

    //chamada do metodo SOAP
    $result = $client->call('listaProdutos');


    //exibe o resultado
    print_r($result);

Server code:

<?php
    //server
    //inclusao do arquivo NUSOAP
    require_once('lib/nusoap.php');

    //criacao de uma instanca do servidor
    $server = new soap_server;

    //registro do método
    $server->register('listaProdutos');


    function listaProdutos(){

        $produtos = "produto1"."produto2";      
        return $result;
    }


    //requisição para uso do serviço
    $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ?
    $HTTP_RAW_POST_DATA : '';

    $server->service($HTTP_RAW_POST_DATA);

?>

inserir a descrição da imagem aqui

1 answer

0


I managed to solve it this way:

Server code

<?php
    //server
    //inclusao do arquivo NUSOAP
    require_once('lib/nusoap.php');

    //criacao de uma instanca do servidor
    $server = new soap_server;

    //registro do método
    $server->register('listaProdutos');


    function listaProdutos(){

        $produtos = array("volvo","saab","mercedes","audi","fiat","bmw");       
        return $produtos;
    }


    //requisição para uso do serviço
    $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ?
    $HTTP_RAW_POST_DATA : '';

    $server->service($HTTP_RAW_POST_DATA);

?>

Client code

<?php
    //cliente

    //inclusao do arquivo NUSOAP
    require_once('lib/nusoap.php');

    //criacao de uma instancia do cliente
    $client = new nusoap_client('http://127.0.0.1/webservicephp/server2.php');

    //chamada do metodo SOAP
    $result = $client->call('listaProdutos');


?>

<select>
  <?php

        //exibe o resultado
        $top = sizeof($result) - 1;
        $bottom = 0;
        while($bottom <= $top)
        {
            echo '<option value='.$result[$bottom].'>'.$result[$bottom].'</option>';
            $bottom++;
        }
  ?>

</select>

webserviceSOAP

Browser other questions tagged

You are not signed in. Login or sign up in order to post.