Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

174
Vistas
Llamar al servicio web desde VB6 a través de .NET fallando

Tengo una situación extraña y me preguntaba si alguien puede ayudar.

Tengo una DLL .NET que se llama desde una aplicación VB6. He ampliado esta DLL para interactuar con un sitio web de terceros. El tercero tiene un SDK que estoy usando dentro de mi archivo DLL. El SDK tiene una llamada para conectarse al sitio web que luego realiza la autenticación OAuth2 para obtener un token de acceso para futuras llamadas al sitio web.

Cuando se llama a la función 'autorizar' de DLL (que contiene la llamada a la función SDK Connect) desde mi arnés de prueba (también una aplicación .NET), entonces todo está bien y funciona exactamente como se esperaba.

Sin embargo, cuando se llama a la misma función de "autorización" de DLL desde la aplicación VB6, la función de conexión del SDK falla. La única información útil es que el error es un error 501.

Para aclararme las cosas, cambié mi DLL para realizar la autenticación mediante llamadas REST. Nuevamente, llamar a esto desde el arnés de prueba de .NET estuvo bien, pero llamar desde la aplicación VB6 resultó en un error. Después de la investigación, parecía que el error estaba relacionado con TLS. Forcé la función "autorizar" de DLL para usar TLS1.2, usando ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 y las llamadas REST luego funcionaron.

Entonces, por alguna razón, parece que al realizar las llamadas a la DLL desde VB6, las llamadas web desde la DLL utilizan una versión inferior de TLS. Alguien mas ha visto esto antes?

Encontré algunos artículos sobre la desactivación de TLS1.0 y 1.1, pero nada de esto parece haber funcionado. ¿Alguien tiene alguna idea?

Gracias de antemano

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Encontré cuál es la solución una vez, así que en caso de que alguien más tropiece con esto en el futuro.

Al ejecutar una aplicación VB6 que hace referencia a una DLL .NET, parece que todavía debería tener un archivo .config para esa aplicación VB6 (por lo tanto, un archivo appname.exe.config ). Para mí, usé el archivo de configuración de mi DLL (dllname.dll.config), lo renombré y lo agregué a la carpeta en la que estaba el EXE y todo comenzó a funcionar.

Además, si está depurando desde el IDE de VB6, debe crear un archivo vb6.exe.config junto con el vb6.exe principal y también funcionará desde el depurador.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda