Apache Camel Milo客户端超时

3

我正在尝试使用camel连接到OPC UA服务器。 我通过mvn:archetype下载了camel 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服务器不是问题,我可以用任何其他客户端访问它们。

这里是我错过了什么吗?感谢您的帮助。


在这种情况下,始终要使用一些可靠的工具来检查是您的程序还是一般设置的问题。我推荐UA-Expert,非常方便的工具。 - astrowalker
2个回答

2
我猜测你的OPC UA服务器配置不正确,在其EndpointDescriptions中返回172.17.0.2而不是10.0.75.1。这需要在Camel/Milo集成中进行修复,如果没有覆盖主机名的选项,或者你需要正确配置服务器以在其端点中包括10.0.75.1。"最初的回答"。

我尝试了多个服务器。至少其中一个服务器在其端点描述中返回了正确的IP,但我仍然无法连接。所以那可能不是问题所在。 - Necrophades
1
超时发生在网络/TCP层,所以首先要从那里开始查找。是防火墙的问题吗? - Kevin Herron

1
对于我的情况,解决方案是在opc-ua服务器的URI后面添加"&overrideHost=true"。它应该看起来像这样:
public class MyRouteBuilder extends RouteBuilder {
    public void configure() {
        from("milo-client:tcp://10.0.75.1:4840&overrideHost=true")
            .log("From OPC UA: ${body}");
    }
}

看起来我尝试的任何服务器都没有正确配置服务器端点 lol


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接