none
Consumir WCF desde aplicación VB 4 y 5 RRS feed

  • Pregunta

  • Que tal amigos, de nuevo molestándolos, tengo un problema, y es que en la empresa tenemos varias aplicaciones viejitas hechas en VB 4 y 5, lo que tengo que hacer es consumir un servicio WCF donde yo le voy a mandar un string y me va a devolver un booleano, mi problema es que no tengo idea por donde empezar, desde el pundo de en donde hago referencia al servicio, etc.

    Ojalá pudieran ayudarme, gracias de antemano

    jueves, 2 de enero de 2014 15:17

Todas las respuestas

  • Probablemente lo más sencillo será construir una DLL en .Net que consuma el servicio WCF, y luego esa DLL registrarla como objeto COM y llamarla desde VB 4/5 mediante una referencia al objeto COM.

    Por si no sabes como se hace lo de registrar la DLL como objeto COM, lo más sencillo es desde Visual Studio abrir las propiedades del proyecto y marcar el checkbox que dice "Register for COM Interop". Esto registra la DLL en la máquina de desarrollo; para desplegarla puedes usar REGASM.EXE, o crear un instalador con Visual Studio. Acuérdate de poner en true el atributo ComVisible en el AssemblyInfo.cs, que por defecto viene a false.

    • Propuesto como respuesta Sergio Parra viernes, 3 de enero de 2014 15:45
    viernes, 3 de enero de 2014 9:24
  • Desde Visual Basic/ VBA puedes enviar POST/GET de varias maneras: usando AJAX, incrustando un objeto Webbrowser o creando una instancia del explorer.

    Este ejemplo es con AJAX.

    Private Sub Comando0_Click()
    MsgBox http_Resp("http://unaURL/carpeta.aspx?serial=1234")
    End Sub
    Public Function http_Resp(ByVal sReq As String) As String
        Dim byteData() As Byte
        Dim XMLHTTP As Object
        Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
        XMLHTTP.Open "GET", sReq, False
        XMLHTTP.send '("usuario=pepita&clave=1234")cuando es por post
        byteData = XMLHTTP.responseBody
        MsgBox XMLHTTP.Status
        Set XMLHTTP = Nothing
        http_Resp = StrConv(byteData, vbUnicode)
    End Function

    • Propuesto como respuesta guarracuco lunes, 6 de enero de 2014 23:19
    lunes, 6 de enero de 2014 23:18