'------------------------------------------------------------------------------
' Cliente VB6 del servicio Web conversor de ºC a ºF (18/Jun/03)
'
' Basado en un ejemplo del libro: Introducing .NET de David S. Platt
'
' ©Guillermo 'guille' Som, 2003
'------------------------------------------------------------------------------
Option Explicit
Private Enum tipoConversion
deCaF
deFaC
End Enum
Private tipo As tipoConversion
' Estas definiciones están tomadas de lo mostrado en el explorador
' al seleccionar cada una de las funciones del servicio Web
Private Const cSOAPCaF = _
"" & _
"" & _
"" & _
"" & _
"1" & _
"" & _
"" & _
""
Private Const cSOAPFaC = _
"" & _
"" & _
"" & _
"" & _
"1" & _
"" & _
"" & _
""
Private Sub cmdC2F_Click()
tipo = deCaF
Dim parser As DOMDocument
Set parser = New DOMDocument
' cargar el código SOAP para CaF
parser.loadXML cSOAPCaF
'
' Indicar el parámetro a enviar
parser.selectSingleNode("/soap:Envelope/soap:Body/CaF/valor").Text = txtC.Text
'
' Mostrar el código XML enviado al servicio Web
Text1.Text = parser.xml
' Usar el control Inet para realizar la operación HTTP POST
Inet1.Execute txtURL.Text, "POST", parser.xml, "Content-Type: text/xml; charset=utf-8" & vbCrLf & "SOAPAction: http:"//elGuille/WebServices/CaF"
End Sub
Private Sub cmdF2C_Click()
tipo = deFaC
Dim parser As DOMDocument
Set parser = New DOMDocument
' cargar el código SOAP para FaC
parser.loadXML cSOAPFaC
'
' Indicar el parámetro a enviar
parser.selectSingleNode("/soap:Envelope/soap:Body/FaC/valor").Text = txtF.Text
'
' Mostrar el código XML enviado al servicio Web
Text1.Text = parser.xml
' Usar el control Inet para realizar la operación HTTP POST
Inet1.Execute txtURL.Text, "POST", parser.xml, "Content-Type: text/xml; charset=utf-8" & vbCrLf & "SOAPAction: http:"//elGuille/WebServices/FaC"
End Sub
Private Sub Form_Load()
Text1.Text = "Cliente VB6" & vbCrLf & "del Servicio Web Conversor de ºC a ºF"
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
'
If (State = icResponseCompleted) Then ' icResponseCompleted = 12
Dim s As String
'
' Leer los datos devueltos por el servidor
s = Inet1.GetChunk(4096)
Text1.Text = s
'
' Poner los datos en el analizador de XML
Dim parser As DOMDocument
Set parser = New DOMDocument
parser.loadXML s
'
On Error Resume Next
'
If tipo = deCaF Then
txtF.Text = parser.selectSingleNode("/soap:Envelope/soap:Body/CaFResponse/CaFResult").Text
Else
txtC.Text = parser.selectSingleNode("/soap:Envelope/soap:Body/FaCResponse/FaCResult").Text
End If
'
If Err.Number > 0 Then
Text1.SetFocus
End If
End If
End Sub