Agora que já conhecemos um pouco mais sobre web services, vamos criar um cliente para fazer pesquisas na base do Amazon, utilizando WSDL. Na Listagem 3 apresentamos o código desse cliente.
Listagem 3
PHP
| <?php |
| |
| $termo_pesquisa = $_GET['termo_pesquisa']; |
| $modo_pesquisa = $_GET['modo_pesquisa']; |
| |
|
|
| echo "<html>\n"; |
| echo " <head> </head>\n"; |
| echo "<body>\n"; |
| echo " <form method='get'>\n"; |
| echo " <big><b> Pesquisa ao Site Amazon </b></big> <br/>\n"; |
| echo " Pesquisar por <input type='text' name='termo_pesquisa' size='40' value=$termo_pesquisa></input> \n"; |
| echo " em <select name='modo_pesquisa'> \n"; |
| echo " <option>books</option> \n"; |
| echo " <option>music</option> \n"; |
| echo " <option>video</option> \n"; |
| echo " <option>kitchen</option> \n"; |
| echo " </select> \n"; |
| echo " <input type='submit' name='consultar' value='Pesquisar'></input>\n"; |
| echo " </form>\n"; |
| echo "</body>\n"; |
| echo "</html>\n"; |
| |
| if ( $termo_pesquisa ) |
| { |
| echo "<br/> Resultados da Pesquisa por $termo_pesquisa em $modo_pesquisa:<hr/>\n"; |
| |
| try |
| { |
| |
| $cliente = new SoapClient("http://soap.amazon.com/schemas2/AmazonWebServices.wsdl"); |
| |
| |
| $parametros = array( 'keyword'=> $termo_pesquisa, |
| 'page' => 1, |
| 'mode' => $modo_pesquisa, |
| 'tag' => '', |
| 'type' => 'lite', |
| 'devtag' => 'XXXXXXXXX' |
| ); |
| |
| |
| $resultado = $cliente->KeywordSearchRequest($parametros); |
| |
| |
| foreach ( $resultado->Details as $produto ) |
| { |
| |
| echo "<div style='clear:left; width: 500px; padding:20px; margin:15px;'> \n"; |
| echo "<img src='" . $produto->ImageUrlMedium . "' border='0' title='Imagem do Produto' align='left'> \n"; |
| echo "<a target='_new' href='" . $produto->Url . "'>" . $produto->ProductName . "</a><br/>\n"; |
| |
| if ( $produto->Authors ) |
| { |
| echo 'Autor(es): ' ; |
| |
| foreach ( $produto->Authors as $autor ) |
| { |
| echo $autor . ', ' ; |
| } |
| } |
| else if ( $produto->Artists[0] ) |
| { |
| echo 'Artista(s): ' . $produto->Artists[0] . '<br/>'; |
| |
| foreach ( $produto->Artists as $artista ) |
| { |
| echo $artista . ', ' ; |
| } |
| } |
| |
| echo '<br/><br/>Preco: ' . $produto->OurPrice . "<br/>\n"; |
| echo 'Prazo de Entrega: ' . $produto->Availability . "<br/>\n"; |
| echo "</div> \n"; |
| } |
| |
| |
|
|
|
|
| } |
| catch (SOAPFault $e) |
| { |
| echo 'Ocorreu um ERRO: <br>', $e; |
| } |
| } |
| ?> |
Na figura 3 você pode ver o resultado de uma pesquisa nesse servidor.
Figura 3 (Abrir imagem)
Neste artigo, vimos como é fácil implementar e acessar web services utilizando a extensão SOAP do PHP 5. Com esses recursos, é possível projetar sistemas com maior interação e interoperabilidade, características importantes nos dias atuais.
Vilson Cristiano Gärtner
Pages: 1· 2· 3· 4