User Function Teste()
Local oWsdl
Local xRet
Local aOps := {}, aComplex := {}, aSimple := {}
// Cria o objeto da classe tWsdlManagerTWsdlManager
oWsdl := tWsdlManagerTWsdlManager():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
|