2015-05-16 4 views
0

Пытается подключиться к брокеру MQTT, используя java-библиотеку eclipse paho (1.0.2), используя URL-адрес формы tls:// ..., выдает IllegalArgumentException. Не удивительно, что это явно запрещено в коде (хотя ssl доступен). Соединять вызовы этот метод в MqttConnectOptionsEclipse paho java драйвер не поддерживает соединение tls

protected static int validateURI(String srvURI) { 
     try { 
      URI vURI = new URI(srvURI); 
      if (!vURI.getPath().equals("")) { 
       throw new IllegalArgumentException(srvURI); 
      } 
      if (vURI.getScheme().equals("tcp")) { 
       return URI_TYPE_TCP; 
      } 
      else if (vURI.getScheme().equals("ssl")) { 
       return URI_TYPE_SSL; 
      } 
      else if (vURI.getScheme().equals("local")) { 
       return URI_TYPE_LOCAL; 
      } 
      else { 
       throw new IllegalArgumentException(srvURI); 
      } 
     } catch (URISyntaxException ex) { 
      throw new IllegalArgumentException(srvURI); 
     } 
    } 

Есть ли способ обойти это ограничение? Альтернативно, есть ли причина, по которой это заблокировано? Как люди используют этот клиент с этими URL-адресами? Любая помощь оценивается.

+0

Рассматривали ли вы возможность поднять это на список рассылки Paho или отслеживать ошибку? Я думаю, что это всего лишь случай с очень распространенным ssl == tls shorthand, а не с блокировкой tls. – ralight

ответ

0

Я просто столкнулся с той же проблемой, используя одну и ту же библиотеку Eclipse Paho (1.0.2), и запустил ее (в некоторой степени) после изменения URI брокера на "ssl://.....". По крайней мере, я могу инициализировать квитирование SSL до сих пор.