Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

207
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!