Apache Camel Milo 客户端超时

Apache Camel Milo Client Timeout

我正在尝试使用 camel 连接到 OPC UA 服务器。 我通过 mvn:archetype 下载了骆驼 java 模板。 这是我的路线:

public class MyRouteBuilder extends RouteBuilder {
    public void configure() {
        from("milo-client:tcp://10.0.75.1:4840")
            .log("From OPC UA: ${body}");
    }
}

无论我尝试连接到什么服务器,我总是得到:

java.util.concurrent.ExecutionException: UaException: status=Bad_Timeout, message=io.netty.channel.ConnectTimeoutException: connection timed out: /172.17.0.2:4840

OPC 服务器不是问题,我可以通过任何其他客户端访问所有服务器。

我是不是漏掉了什么?感谢您的帮助。

我不得不猜测您的 OPC UA 服务器配置错误并在其 EndpointDescriptions 中返回 172.17.0.2 而不是 10.0.75.1。

这需要在 Camel/Milo 集成中修复,如果还没有覆盖主机名的选项,或者您需要正确配置服务器以在其端点中包含 10.0.75.1。

针对我的情况,解决方案是将“&overrideHost=true”附加到 opc-ua 服务器的 uri。它应该是这样的:

public class MyRouteBuilder extends RouteBuilder {
    public void configure() {
        from("milo-client:tcp://10.0.75.1:4840&overrideHost=true")
            .log("From OPC UA: ${body}");
    }
}

在我试过的任何服务器上,确实看起来服务器端点配置不正确哈哈