2017-02-10 11 views
10

Nie jestem zbytnio przyzwyczajony do świata java, więc nie jestem pewien, czy mój problem dotyczy konfiguracji Azure, czy konfiguracji java. Po wykonaniu poniższego samouczka otrzymuję następujący wyjątek.Java Łączenie z lazącym ośrodkiem zdarzeń: SunCertPathBuilderException

https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-java-get-started-receive-eph

Failure while registering:  
com.microsoft.azure.eventprocessorhost.EPHConfigurationException: 
Encountered error while fetching the list of EventHub PartitionIds: 
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find 
valid certification path to requested target 

Wyjątek występuje podczas tej linii z próbki:

host.registerEventProcessor(EventProcessor.class, options).get(); 

zrobiłem wersję .NET samouczka z małym problemem. Wysyłanie i odbieranie prac w tym przypadku. Wszelkie spostrzeżenia? W ostatnich dniach gmerałem bez powodzenia.

+0

Czy możesz udostępnić format conectionString używany? Upewnij się również, że korzystasz z najnowszych wersji. – Sreeram

+0

@Sreeram Im używać klucza, jak przewidziano w interfejsie AZURE - długie alfanumeryczne, a następnie "=" – Seth

Odpowiedz

0

Okazało się, że to był głupi problem z siecią. Port amqp jest tylko białą listą.

3

Szukałem Twojego problemu i znalazłem pomocne blogi, które mogą pomóc w rozwiązaniu problemu. Zapoznaj się z poniższymi blogami.

  1. https://www.mkyong.com/webservices/jax-ws/suncertpathbuilderexception-unable-to-find-valid-certification-path-to-requested-target/
  2. http://nodsw.com/blog/leeland/2006/12/06-no-more-unable-find-valid-certification-path-requested-target

Powyższe blogów używane narzędzie InstallCert do certyfikatu serwera, który można dodać do lokalnego magazynu kluczy. Proszę postępować zgodnie z README repozytorium GitHub.

+0

Dzięki, patrząc na to. Za dużo wielozadaniowości. – Seth

+0

Poszedłem za tym i wydaje się, że go nie rozwiązałem. Faktycznie zgadzam się, że jest to problem z cacertami, ale przechodzenie przez oba blogi nie zakłócało mojego problemu. – Seth

2

Pobierz certyfikat z przeglądarki i dodać go do magazynu kluczy Java tak:

C:\java\jdk1.8.0_60\jre\lib\security>C:\java\jdk1.8.0_60\jre\bin\keytool.exe -import -alias alias -file C:\path\to\file.crt -keystore C:\java\jdk1.8.0_60\jre\lib\security>cacerts -storepass changeit 

Musisz upewnić się, aby dodać cert do prawidłowej instalacji Java lub po prostu dodać do wszystkich instalacji, wam ma więcej niż jeden.

+0

Niestety, odkryłem to dziś rano. To był zamknięty port w mojej sieci. Wypróbowałem tę funkcję i jest pomocne. Wielkie dzięki za opublikowanie tego. – Seth