Listar métodos de um webservice (soap) em runtime
25/03/2019
0
Prezados, bom dia.
Alguém saberia dizer como posso listar os métodos (com parâmetros e tipos) de um webservice (soap) em runtime?
Ex. Não tenho o cliente, vou mostrar os métodos disponiveis apenas.
Alguém saberia dizer como posso listar os métodos (com parâmetros e tipos) de um webservice (soap) em runtime?
Ex. Não tenho o cliente, vou mostrar os métodos disponiveis apenas.
Otto Huckows
Curtir tópico
+ 0
Responder
Post mais votado
25/03/2019
Olá Otto,
Infelizmente não existe um método pronto para isso,
As aplicações Delphi que consomem SOAP subentendem que você conhece o contrato e os serviços. O máximo que pode ser feito (e na minha opinião isso sim já deveria ter implementando no Delphi) é ler o wsdl carregando-o como xml e buscar pelas tags <wsdl:operation>, por exemplo, o WSDL dos correios mostra:
<wsdl:operation name="getVersao">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retorna a versão atual do componente</wsdl:documentation>
<wsdl:input message="tns:getVersaoSoapIn"/>
<wsdl:output message="tns:getVersaoSoapOut"/>
</wsdl:operation>
já incluindo o nome do serviço e a Descrição.
Em outras partes do WSDL é possível capturar as informações de parametros de entrada, saída e link do serviço.
Espero ter dado um Norte na sua busca. Um forte abraço e fique com Deus.
Infelizmente não existe um método pronto para isso,
As aplicações Delphi que consomem SOAP subentendem que você conhece o contrato e os serviços. O máximo que pode ser feito (e na minha opinião isso sim já deveria ter implementando no Delphi) é ler o wsdl carregando-o como xml e buscar pelas tags <wsdl:operation>, por exemplo, o WSDL dos correios mostra:
<wsdl:operation name="getVersao">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retorna a versão atual do componente</wsdl:documentation>
<wsdl:input message="tns:getVersaoSoapIn"/>
<wsdl:output message="tns:getVersaoSoapOut"/>
</wsdl:operation>
já incluindo o nome do serviço e a Descrição.
Em outras partes do WSDL é possível capturar as informações de parametros de entrada, saída e link do serviço.
Espero ter dado um Norte na sua busca. Um forte abraço e fique com Deus.
Hélio Devmedia
Responder
Mais Posts
26/03/2019
Otto Huckows
Olá Otto,
Infelizmente não existe um método pronto para isso,
As aplicações Delphi que consomem SOAP subentendem que você conhece o contrato e os serviços. O máximo que pode ser feito (e na minha opinião isso sim já deveria ter implementando no Delphi) é ler o wsdl carregando-o como xml e buscar pelas tags <wsdl:operation>, por exemplo, o WSDL dos correios mostra:
<wsdl:operation name="getVersao">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retorna a versão atual do componente</wsdl:documentation>
<wsdl:input message="tns:getVersaoSoapIn"/>
<wsdl:output message="tns:getVersaoSoapOut"/>
</wsdl:operation>
já incluindo o nome do serviço e a Descrição.
Em outras partes do WSDL é possível capturar as informações de parametros de entrada, saída e link do serviço.
Espero ter dado um Norte na sua busca. Um forte abraço e fique com Deus.
Infelizmente não existe um método pronto para isso,
As aplicações Delphi que consomem SOAP subentendem que você conhece o contrato e os serviços. O máximo que pode ser feito (e na minha opinião isso sim já deveria ter implementando no Delphi) é ler o wsdl carregando-o como xml e buscar pelas tags <wsdl:operation>, por exemplo, o WSDL dos correios mostra:
<wsdl:operation name="getVersao">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retorna a versão atual do componente</wsdl:documentation>
<wsdl:input message="tns:getVersaoSoapIn"/>
<wsdl:output message="tns:getVersaoSoapOut"/>
</wsdl:operation>
já incluindo o nome do serviço e a Descrição.
Em outras partes do WSDL é possível capturar as informações de parametros de entrada, saída e link do serviço.
Espero ter dado um Norte na sua busca. Um forte abraço e fique com Deus.
Responder
26/03/2019
Otto Huckows
Olá Otto,
Infelizmente não existe um método pronto para isso,
As aplicações Delphi que consomem SOAP subentendem que você conhece o contrato e os serviços. O máximo que pode ser feito (e na minha opinião isso sim já deveria ter implementando no Delphi) é ler o wsdl carregando-o como xml e buscar pelas tags <wsdl:operation>, por exemplo, o WSDL dos correios mostra:
<wsdl:operation name="getVersao">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retorna a versão atual do componente</wsdl:documentation>
<wsdl:input message="tns:getVersaoSoapIn"/>
<wsdl:output message="tns:getVersaoSoapOut"/>
</wsdl:operation>
já incluindo o nome do serviço e a Descrição.
Em outras partes do WSDL é possível capturar as informações de parametros de entrada, saída e link do serviço.
Espero ter dado um Norte na sua busca. Um forte abraço e fique com Deus.
Infelizmente não existe um método pronto para isso,
As aplicações Delphi que consomem SOAP subentendem que você conhece o contrato e os serviços. O máximo que pode ser feito (e na minha opinião isso sim já deveria ter implementando no Delphi) é ler o wsdl carregando-o como xml e buscar pelas tags <wsdl:operation>, por exemplo, o WSDL dos correios mostra:
<wsdl:operation name="getVersao">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retorna a versão atual do componente</wsdl:documentation>
<wsdl:input message="tns:getVersaoSoapIn"/>
<wsdl:output message="tns:getVersaoSoapOut"/>
</wsdl:operation>
já incluindo o nome do serviço e a Descrição.
Em outras partes do WSDL é possível capturar as informações de parametros de entrada, saída e link do serviço.
Espero ter dado um Norte na sua busca. Um forte abraço e fique com Deus.
Olá Helio, obg pelo retorno. Ajudou sim, obg.
Responder
Clique aqui para fazer login e interagir na Comunidade :)