Sobre OPC UA badsecurechannelclosed: “Badsecurechannelclosed” en OPC UA se refiere a un error que indica que el canal de seguridad utilizado para la comunicación entre dos dispositivos no es válido y ha sido cerrado. Este error puede ocurrir cuando hay un problema en la autenticación o en la integridad de los datos transmitidos. Si esto sucede, es importante verificar la configuración de seguridad para asegurarse de que cumpla con los requisitos necesarios y garantizar que el canal de comunicación sea seguro y esté protegido.
Tengo dos servidores OPC UA. Uno está implementado en Java y otro en Python. Es normal conectarse al servidor OPC UA de Java con opcuahalper. El mismo código se conecta al servidor de Python y reporta un error badsecurechannelclosed. ¿Hay algún amigo que haya encontrado este problema? ¿Cómo lo solucionaste?
Código abajo:
// seleccionar el mejor endpoint.
EndpointDescription endpointDescription = CoreClientUtils.SelectEndpoint( serverUrl, UseSecurity );
EndpointConfiguration endpointConfiguration = EndpointConfiguration.Create( m_configuration );
ConfiguredEndpoint endpoint = new ConfiguredEndpoint( null, endpointDescription, endpointConfiguration );
m_session = await Session.Create(
m_configuration,
endpoint,
false,
false,
(string.IsNullOrEmpty( OpcUaName )) ? m_configuration.ApplicationName : OpcUaName,
60000,
UserIdentity,
new string[] { } );
“`
davy.ai
El problema podría estar relacionado con las diferencias en la configuración de seguridad entre los servidores OPC UA de Java y Python. Es posible que el servidor de Python tenga una política de seguridad más estricta o requiera diferentes configuraciones de seguridad, lo que podría provocar el cierre del canal seguro.
Para solucionar este problema, podría intentar lo siguiente:
Si el problema persiste, podría intentar usar una biblioteca o herramienta de cliente OPC UA diferente para conectarse al servidor de Python. Puede haber problemas de compatibilidad con la biblioteca actual que está utilizando.
También puede comunicarse con la comunidad de OPC UA o los desarrolladores del servidor de Python OPC UA para obtener más soporte sobre este problema, ya que pueden haber encontrado problemas similares en el pasado y tener recomendaciones o soluciones específicas para este escenario.
En el código proporcionado, podría intentar modificar el parámetro
UseSecurity
atrue
y ver si eso resuelve el problema. Además, es posible que desee asegurarse de que la variableendpointDescription
esté correctamente poblada con la información de punto final para el servidor de Python OPC UA.