Se o atributo lProcResp estiver definido como .F. e houver falha, o método irá retornar .T., mas a mensagem de erro bruta pode ser pega chamando o método GetSoapResponse.
Exemplos
Expandir origem
User Function Teste()
Local oWsdl
Local xRet
Local cMsg := ""
// 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
// Define a operação
xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )
if xRet == .F.
conout( "Erro: " + oWsdl:cError )
Return
endif
// Define o valor de cada parâmeto necessário
xRet := oWsdl:SetValue( 0, "90210" )
if xRet == .F.
conout( "Erro: " + oWsdl:cError )
Return
endif
// Envia a mensagem SOAP ao servidor
xRet := oWsdl:SendSoapMsg()
if xRet == .F.
conout( "Erro: " + oWsdl:cError )
Return
endif
cMsg := "<?xml version='1.0' encoding='UTF-8' standalone='no' ?>"
cMsg += '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" '
cMsg += 'xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" '
cMsg += 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" '
cMsg += 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '
cMsg += 'xmlns:ns1="http://ws.cdyne.com/WeatherWS/">'
cMsg += '<SOAP-ENV:Body>'
cMsg += '<GetCityForecastByZIP xmlns="http://ws.cdyne.com/WeatherWS/">'
cMsg += '<ZIP>22313</ZIP>'
cMsg += '</GetCityForecastByZIP>'
cMsg += '</SOAP-ENV:Body>'
cMsg += '</SOAP-ENV:Envelope>'
// Envia uma mensagem SOAP personalizada ao servidor
xRet := oWsdl:SendSoapMsg( cMsg )
if xRet == .F.
conout( "Erro: " + oWsdl:cError )
Return
endif
Return