Visual Basic - SOAP es tan dificil usarlo en vb6

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 45
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SOAP es tan dificil usarlo en vb6

Publicado por Adla (17 intervenciones) el 28/11/2020 21:04:05
hola,

es curioso pero llevo varios dias buscando ayuda para soap pero no hay soluciones, casi todas las entradas estan sin resolver , ¿de verdad es tan dificil?

https://www.lawebdelprogramador.com/foros/buscar.php?opc=1&id=93&charSearch=soap

en principio no parece tan complicado aunque yo no entiendo nada, creo que es mandar una cadena a una url y recibir otra, pero cuanto mas busco mas me pierdo, aun menos cuando nunca funciona o es dificil que lo haga, por favor, ¿no teneis algo generico en VB6 que sirva para todos los servicios web del mundo de esta forma?,

Url del servicio: https://....

Usuario: usu
Clave: 123

Consulta: <?xml version..>

[boton:pulsa para enviar consulta y obtener respuesta]

Respuesta: <...

gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 111
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SOAP es tan dificil usarlo en vb6

Publicado por Agustin (43 intervenciones) el 29/11/2020 23:06:12
Como ya lo dije antes, vb6 es una tecnología excelente.... para un mundo que ya no existe.

Cualquier cosa que trates de hacer que tenga un mínimo de semejanza con el software moderno va a ser difícil o directamente imposible en vb6.

Pasate a .NET y listo, como hicimos todos en su momento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 45
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SOAP es tan dificil usarlo en vb6

Publicado por Adla (17 intervenciones) el 30/11/2020 09:23:48
uf, gracias por tu consejo, pero estoy muy mayor para hacerlo, tendría que dedicarle un tiempo del que no dispongo, me gustaría mucho aprender tecnologías nuevas pero creo que es prácticamente imposible, mi cerebro me juega malas pasadas, apenas programo y lo poco que sabia se me está olvidando. un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SOAP es tan dificil usarlo en vb6

Publicado por Andres Leonardo (1798 intervenciones) el 30/11/2020 15:00:02
pues te dire que deberias intentarlo, practicando

un par de clases de conceptos de Programacion orientada a Objtos y luego comenzar a ver código te aseguro qeu poco a poco serás un experto.

ese imposible esta tu mente ese es el primer BUG que deberas corregir.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SOAP es tan dificil usarlo en vb6

Publicado por Cecy (1 intervención) el 18/03/2022 16:23:59
Nunca serás mayor para pasarte a otros lenguajes, es un poco de resistencia al cambio, y la tienes que vencer, Con seguridad lo puedes hacer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 250
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SOAP es tan dificil usarlo en vb6

Publicado por Cesar (123 intervenciones) el 30/11/2020 15:13:55
Hola.

Exactamente como te indican, tienes que evolucionar a .Net (mínimo a VB .Net, aunque si es posible, a C#).

En .Net, es muy fácil consumir un servicio SOAP. Solo le das click derecho a la solución, agregar referencia de servicio, indicas la URL del WSDL de tu servicio, y listo, automáticamente te crea las clases para que consumas el servicio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 45
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SOAP es tan dificil usarlo en vb6

Publicado por Adla (17 intervenciones) el 30/11/2020 18:53:53
gracias por vuestro animo, ahora es mas dificil, si sobrevivo a la pandemia, este el verano prometo intentarlo, ahora mi jornada es muy larga y peligrosa, soy de riesgo y temo no llegar a fin de año, estoy aterrado, por eso intento hacer cosas para no tocar papeles pero no va a ser posible, hay muchas cosas que cambiar, a ver si con suerte me veis en este foro dentro de unos meses, lo estoy pasando realmente mal, tengo que optar como comer o jugarme la vida cada dia, perdonad pero estoy sicologicamente destrozado, esto me sirve de desahogo. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SOAP es tan dificil usarlo en vb6

Publicado por Andres Leonardo (1798 intervenciones) el 30/11/2020 20:24:23
venga desahogate y esta lucha la ganamos todos!!!
y si necesitas algo aca estamos .. nunca se esta solo!! en ningun lado ... !!!

Un abrazo arriba el animi y apelearla que esto es peleando!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 45
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SOAP es tan dificil usarlo en vb6

Publicado por Adla (17 intervenciones) el 01/12/2020 10:55:50
Muchas gracias,un abrazo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 45
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SOAP es tan dificil usarlo en vb6

Publicado por Adla (17 intervenciones) el 11/12/2020 14:00:11
gracias, miraré, vi un ejemplo que no se si será este, fallaba un poco con las referencias y propiedades un poco cambiadas, al final consegui hacer lo de los grados pero con el soap que tengo no consigo nada, no se parece en nada y no acabo de entender el proceso. Saludos

este es el codigo modificado para que funciones a la fecha.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
'------------------------------------------------------------------------------
' Cliente VB6 del servicio Web conversor de ºC a ºF                 (28/Jun/03)
'
' Basado en un ejemplo del libro: Introducing .NET de David S. Platt
' En esta versión no se usa el control Inet (Internet Trnsfer Control)
'
' ©Guillermo 'guille' Som, 2003
'
' En un formulario incluir:
' 4 textbox con los nombres: txtURL, txtC, txtF y text1 (este ultimo multiline)
' 2 commandButton con los nombres: cmdC2F y cmdF2C
'
'------------------------------------------------------------------------------
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 = _
    "<?xml version=""1.0"" encoding=""utf-8""?>" & _
    "<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">" & _
        "<soap:Body>" & _
            "<CaF xmlns=""http://elGuille/WebServices"">" & _
                "<valor>1</valor>" & _
            "</CaF>" & _
        "</soap:Body>" & _
    "</soap:Envelope>"
 
Private Const cSOAPFaC = _
    "<?xml version=""1.0"" encoding=""utf-8""?>" & _
    "<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">" & _
        "<soap:Body>" & _
            "<FaC xmlns=""http://elGuille/WebServices"">" & _
                "<valor>1</valor>" & _
            "</FaC>" & _
        "</soap:Body>" & _
    "</soap:Envelope>"
 
Private Sub cmdC2F_Click()
    tipo = deCaF
    '
    'Dim parser As DOMDocument
    Dim parser As MSXML2.DOMDocument30
    'Set parser = New DOMDocument
    Set parser = New MSXML2.DOMDocument30
 
    ' 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"
    '
    enviarComando parser.xml, "http://elGuille/WebServices/CaF"
    '
'    enviarComando
    '
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"
    '
    enviarComando parser.xml, "http://elGuille/WebServices/FaC"
    '
'    enviarComando
    '
End Sub
 
'Private Sub enviarComando()
'    ' Enviar el comando al servicio Web
'    '
'    Dim parser As DOMDocument
'    Set parser = New DOMDocument
'    '
'    If tipo = deCaF Then
'        ' cargar el código SOAP para CaF
'        parser.loadXML cSOAPCaF
'    Else
'        ' cargar el código SOAP para FaC
'        parser.loadXML cSOAPFaC
'    End If
'    '
'    ' Indicar el parámetro a enviar
'    If tipo = deCaF Then
'        parser.selectSingleNode("/soap:Envelope/soap:Body/CaF/valor").Text = txtC.Text
'    Else
'        parser.selectSingleNode("/soap:Envelope/soap:Body/FaC/valor").Text = txtF.Text
'    End If
'    '
'    ' Mostrar el código XML enviado al servicio Web
'    Text1.Text = parser.xml
'    '
'    '
'    ' usar XMLHTTPRequest para enviar la información al servicio Web
'    Dim oHttReq As XMLHTTPRequest
'    Set oHttReq = New XMLHTTPRequest
'    '
'    ' Enviar el comando de forma síncrona (se espera a que se reciba la respuesta)
'    oHttReq.open "POST", txtURL.Text, False
'    ' las cabeceras a enviar al servicio Web
'    ' (no incluir los dos puntos en el nombre de la cabecera)
'    oHttReq.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
'    If tipo = deCaF Then
'        oHttReq.setRequestHeader "SOAPAction", "http://elGuille/WebServices/CaF"
'    Else
'        oHttReq.setRequestHeader "SOAPAction", "http://elGuille/WebServices/FaC"
'    End If
'    ' enviar el comando
'    oHttReq.send parser.xml
'    '
'    ' este será el texto recibido del servicio Web
'    procesarRespuesta oHttReq.responseText
'    '
'End Sub
 
Private Sub enviarComando(ByVal sXml As String, ByVal sSoapAction As String)
    ' Enviar el comando al servicio Web
    '
    ' usar XMLHTTPRequest para enviar la información al servicio Web
    'Dim oHttReq As XMLHTTPRequest
    Dim oHttReq As MSXML2.XMLHTTP30
    'Set oHttReq = New XMLHTTPRequest
    Set oHttReq = New MSXML2.XMLHTTP30
    '
    ' Enviar el comando de forma síncrona (se espera a que se reciba la respuesta)
    oHttReq.open "POST", txtURL.Text, False
    ' las cabeceras a enviar al servicio Web
    ' (no incluir los dos puntos en el nombre de la cabecera)
    oHttReq.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
    oHttReq.setRequestHeader "SOAPAction", sSoapAction
    ' enviar el comando
    oHttReq.send sXml
    '
    ' este será el texto recibido del servicio Web
    procesarRespuesta oHttReq.responseText
    '
End Sub
 
Private Sub procesarRespuesta(ByVal s As String)
    ' procesar la respuesta recibida del servicio Web
    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 = "Error"
        txtF.Text = parser.selectSingleNode("/soap:Envelope/soap:Body/CaFResponse/CaFResult").Text
    Else
        txtC.Text = "Error"
        txtC.Text = parser.selectSingleNode("/soap:Envelope/soap:Body/FaCResponse/FaCResult").Text
    End If
    '
    If Err.Number > 0 Then
        Text1.SetFocus
    End If
End Sub
 
Private Sub Form_Load()
    Text1.Text = "Cliente VB6" & vbCrLf & "del Servicio Web Conversor de ºC a ºF"
    txtURL.Text = "http://www.elguille.info/Net/WebServices/conversor.asmx"
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar