Você está aqui: PHP ::: PHP + SOAP Web Services ::: SoapClient |
Como usar o método getFunctions() da classe SoapClient para retornar uma lista das funções descritas em um arquivo WSDLQuantidade de visualizações: 3446 vezes |
Em algumas situações gostaríamos de obter mais informações sobre as funções descritas em um arquivo WSDL (Web Services Definition Language). Não é sempre que temos a documentação do serviço web (ou estamos mesmo sem vontade de fazer a leitura do mesmo). A classe SoapClient nos fornece uma forma fácil de obter tal informação por meio do seu método getFunctions(). Veja sua assinatura: public array SoapClient::__getFunctions(void) Veja que o método não requer nenhum argumento e retorna um array contendo as funções descritas no WSDL. Observe o trecho de código a seguir: <? // vamos evitar que o arquivo WSDL seja colocado no cache ini_set("soap.wsdl_cache_enabled", "0"); try{ // definimos o endereço do arquivo WSDL $cliente = new SoapClient( 'http://www.arquivodecodigos.net/estudos_soap/calculos.wsdl'); // vamos obter a lista de funções descritas no WSDL $funcoes = $cliente->__getFunctions(); // e exibimos o resultado var_dump($funcoes); } catch(SoapFault $erro){ // houve algum erro? var_dump($e); } ?> Ao executarmos este código teremos o seguinte resultado (assumindo que você tenha informado o endereço de um arquivo WSDL válido e que contenha a descrição de no mínimo uma função): array(2) { [0]=> string(31) "float somar(float $a, float $b)" [1]=> string(37) "float multiplicar(float $a, float $b)" } Neste exemplo nós temos o retorno de duas funções: somar() e multiplicar(). Veja que os parâmetros e retornos são do tipo float. Veja agora o resultado deste código aplicado ao WSDL no endereço http://www.webservicex.net/CurrencyConvertor.asmx?WSDL: array(2) { [0]=> string(65) "ConversionRateResponse ConversionRate(ConversionRate $parameters)" [1]=> string(65) "ConversionRateResponse ConversionRate(ConversionRate $parameters)" } Veja que agora o retorno e o parâmetro são tipos mais complexos que float e double. Nestes casos específicos a documentação do web service é sempre bem-vinda. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
AutoCAD Civil 3D .NET C# - Como retornar a quantidade de perfis de um alinhamento do Civil 3D usando a função GetProfileIds() da API C# do AutoCAD Civil 3D |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |