A classe TWsdlManager faz o tratamento para arquivos WSDL (Web Services Description Language). Esta classe implementa métodos para identificação das informações de envio e resposta das operações definidas, além de métodos para envio e recebimento do documento SOAP.
Hierarquia
- TWsdlManager
Construtores
Propriedades
Métodos
Observações
- Após feito o parse do WSDL, a classe irá disponibilizar uma lista com os elementos que serão definidos na mensagem SOAP que será enviada. A lista possui o nome dos elementos e o id interno deles. Toda vez que for feito o parse do WSDL, o id será o mesmo. Logo, para definir o valor de um elemento utiliza-se o id do mesmo. Mas, é possível também definir o valor passando o nome do elemento, fazendo com que a classe procure o mesmo (o primeiro encontrado ou de acordo com os elementos pai) e defina seu valor.
- WSDL - Web Services Description Language (Linguagem para descrição de web services) é uma linguagem baseada em XML para descrição dos serviços, operações e métodos de um web service. O documento gerado a partir do documento WSDL é no formato SOAP. Para mais informações sobre WSDL acesse o endereço: http://www.w3.org/TR/wsdl.
- SOAP - Simple Object Access Protocol (Protocolo Simples de Acesso a Objetos) é um protocolo baseado em XML para troca de informações estruturadas em plataforma descentralizada e distribuída, normalmente web services. Para mais informações acesse: http://www.w3.org/TR/soap/.
- Para obter mais informações dos modelos regulamentados pela W3C - World Wide Web Consortium, acesso o endereço: http://www.w3c.org.
- Um endereço com tutoriais sobre as tecnologias envolvidas pode ser acessado em http://www.w3schools.com/
Exemplos
Exemplo 1
User Function Teste() Local oWsdl Local xRet Local aOps := {}, aComplex := {}, aSimple := {} // Cria o objeto da classe TWsdlManager oWsdl := TWsdlManager():New() // Faz o parse de uma URL xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" ) if xRet == .F. conout( "Erro: " + oWsdl:cError ) Return endif aOps := oWsdl:ListOperations() if Len( aOps ) == 0 conout( "Erro: " + oWsdl:cError ) Return endif varinfo( "", aOps ) // Define a operação xRet := oWsdl:SetOperation( "GetCityForecastByZIP" ) //xRet := oWsdl:SetOperation( aOps[1][1] ) if xRet == .F. conout( "Erro: " + oWsdl:cError ) Return endif aComplex := oWsdl:ComplexInput() varinfo( "", aComplex ) aSimple := oWsdl:SimpleInput() varinfo( "", aSimple ) // Define o valor de cada parâmeto necessário xRet := oWsdl:SetValue( 0, "90210" ) //xRet := oWsdl:SetValue( aSimple[1][1], "90210" ) if xRet == .F. conout( "Erro: " + oWsdl:cError ) Return endif // Exibe a mensagem que será enviada conout( oWsdl:GetSoapMsg() ) // Envia a mensagem SOAP ao servidor xRet := oWsdl:SendSoapMsg() if xRet == .F. conout( "Erro: " + oWsdl:cError ) Return endif // Pega a mensagem de resposta conout( oWsdl:GetSoapResponse() ) if xRet == .F. conout( "Erro: " + oWsdl:cError ) Return endif Return
Abrangência
Builds superiores a 121227P.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas