Тайм-аут клиента Apache Camel Milo - PullRequest
2 голосов
/ 22 марта 2019

Я пытаюсь подключиться к серверу OPC UA с верблюдом. Я загрузил верблюжий Java-шаблон через mvn: archetype. Вот как выглядит мой маршрут:

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 не проблема, я могу связаться со всеми с помощью любого другого клиента.

Я что-то здесь упускаю? Спасибо за вашу помощь.

Ответы [ 2 ]

1 голос
/ 22 марта 2019

Я должен был бы предположить, что ваш сервер OPC UA неправильно настроен и возвращает 172.17.0.2 в своих EndpointDescription вместо 10.0.75.1.

Это необходимо исправить в интеграции Camel / Milo, еслиуже нет возможности переопределить имя хоста, или вам нужно правильно настроить сервер, чтобы включить 10.0.75.1 в его конечные точки.

0 голосов
/ 26 марта 2019

Решением для этого в моем случае является добавление «& overrideHost = true» к URI сервера opc-ua.Это должно выглядеть следующим образом:

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

...