Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda