'------------------------------------------------------------------------------ ' 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