BranchSDK: User session has not been initialized - java

I have problem with BranchSDK, during initialization i receive error:
12-28 13:50:22.203 D/FirebasePerformance: Logging NetworkRequestMetric - https://api2.branch.io/v1/install 0b 1136ms,
12-28 13:50:22.204 I/FirebasePerformance: Did not receive a HTTP Response Code
12-28 13:50:22.204 W/FirebasePerformance: Unable to process the PerfMetric due to missing or invalid values. See earlier log statements for additional information on the specific missing/invalid values.
12-28 13:50:22.208 E/BranchNetworkClient: Error in doRestfulGet(https://api2.branch.io/v1/install)
javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x63395a88: Failure in SSL library, usually a protocol error
error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:744 0x5d9ce808:0x00000000)
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:449)
at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:318)
at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:282)
at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:167)
at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:257)
at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
at okhttp3.RealCall.execute(RealCall.java:77)
at com.google.firebase.perf.network.FirebasePerfOkHttpClient.execute(Unknown Source)
at com.riversoft.eventssion.network.BranchNetworkClient.doRestfulPost(BranchNetworkClient.java:59)
at io.branch.referral.network.BranchRemoteInterface.make_restful_post(BranchRemoteInterface.java:136)
at io.branch.referral.Branch$BranchPostTask.doInBackground(Branch.java:2860)
at io.branch.referral.Branch$BranchPostTask.doInBackground(Branch.java:2835)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x63395a88: Failure in SSL library, usually a protocol error
error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:744 0x5d9ce808:0x00000000)
at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:406)
... 29 more
I tried:
https://github.com/BranchMetrics/android-branch-deep-linking/issues/552
and:
ConnectionSpec spec = new
ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
.tlsVersions(TlsVersion.TLS_1_2)
.cipherSuites(
CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256)
.build();
OkHttpClient client = new OkHttpClient.Builder()
.connectionSpecs(Collections.singletonList(spec))
.build();
P.S. This is problem is on API19, but API 28, 27, 25, 23 all is good worked.

Could you please confirm the SDK version that you are using? As our latest SDK versions had some TLS related changes.
Please refer to: https://github.com/BranchMetrics/android-branch-deep-linking/releases
where release 3.0.0 had some TLS related changes.Please update the Branch SDK and write to integrations#branch.io if the issue still persists.
Thanks.

For version 3.0.3 and below, helped me only add a string when initializing the BranchSDK: ProviderInstaller.installIfNeeded(context);

Add this line on base application oncreate method
Branch.getAutoInstance(this);

Related

Package signed with unknown certificate(go/gsrlt)

Cant start maps acctivity I am getting package signed with unknown certificate(go/gsrlt)
2022-02-18 13:16:04.444 14198-14239/com.example.airservice W/ProtoDataStoreFlagStore: Unable to update local snapshot for com.google.android.libraries.consentverifier#com.example.airservice, may result in stale flags.
java.util.concurrent.ExecutionException: java.lang.SecurityException: GoogleCertificatesRslt: Package signed with unknown certificate (go/gsrlt)
at ago.s(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):3)
at ago.get(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):2)
at ais.a(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):1)
at ahy.g(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):1)
at wx.e(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):1)
at ye.run(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):0)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.SecurityException: GoogleCertificatesRslt: Package signed with unknown certificate (go/gsrlt)
at android.os.Parcel.readException(Parcel.java:1684)
at android.os.Parcel.readException(Parcel.java:1637)
at ee.aZ(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):2)
at qu.a(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):4)
at ik.e(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):2)
at jj.t(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):2)
at jj.u(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):3)
at jj.e(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):2)
at jn.handleMessage(:com.google.android.gms.dynamite_mapsdynamite#214815052#21.48.15 (040700-0):69)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)

java.net.ConnectException: Failed to connect to /10.191.20.97:8080

I have connect java REST on local my computer(10.191.20.97:8080) I am making a android login app that is connecting to Java server. from browser i have successful connection with server but with android studio is somethings wrong:
I/System.out: port:8080
W/System.err: java.net.ConnectException: Failed to connect to /10.191.20.97:8080
W/System.err: at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:143)
at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184)
at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126)
W/System.err: at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:299)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:237)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461)
W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
W/System.err: at com.hpi.android.assetmanagement.ui.updateapk.MainCheckVersion$1GetDataJSON.doInBackground(MainCheckVersion.java:358)
W/System.err: at com.hpi.android.assetmanagement.ui.updateapk.MainCheckVersion$1GetDataJSON.doInBackground(MainCheckVersion.java:334)
W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:333)
W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
E/Internet: => false
D/WindowClient: Add to mViews: DecorView#d78cc18[], this = android.view.WindowManagerGlobal#3577954
D/ViewRootImpl[MainCheckVersion]: hardware acceleration = true , fakeHwAccelerated = false, sRendererDisabled = false, forceHwAccelerated = false, sSystemRendererDisabled = false
I/zygote: Do full code cache collection, code=252KB, data=207KB
I/zygote: After code cache collection, code=252KB, data=176KB
D/Surface: Surface::connect(this=0x8f824000,api=1)
D/Surface: Surface::allocateBuffers(this=0x8f824000)
D/Surface: Surface::disconnect(this=0x8f823000,api=1)
D/Surface: Surface::connect(this=0x8f823000,api=1)
D/Surface: Surface::disconnect(this=0x8f823000,api=1)
D/View: [Warning] assignParent to null: this = DecorView#67cfdda[]
D/WindowClient: Remove from mViews: DecorView#67cfdda[], this = android.view.WindowManagerGlobal#3577954

MSGraph API unarchive Team and restore Group don't work

There is a bug in MSTeams (I think) when you delete a group in Azure the Team in MSTeams is still available. So I archive it before I delete the Group.
Now I want to unarchive it and restore the group. None of these calls working...
graphApplicationClient.teams({teamId}).unarchive().buildRequest().post();
Error:
Apr. 24, 2020 5:01:55 PM com.microsoft.graph.logger.DefaultLogger logDebug
INFORMATION: Starting to send request, URL https://graph.microsoft.com/v1.0/teams/{teamId}/microsoft.graph.unarchive
Apr. 24, 2020 5:01:55 PM com.microsoft.graph.logger.DefaultLogger logDebug
INFORMATION: Request Method POST
Apr. 24, 2020 5:01:55 PM com.microsoft.graph.logger.DefaultLogger logError
SCHWERWIEGEND: CoreHttpProvider[send] - 204Error during http request
Apr. 24, 2020 5:01:55 PM com.microsoft.graph.logger.DefaultLogger logError
SCHWERWIEGEND: Throwable detail: com.microsoft.graph.core.ClientException: Error during http request
Exception in thread "main" com.microsoft.graph.core.ClientException: Error during http request
at com.microsoft.graph.http.CoreHttpProvider.sendRequestInternal(CoreHttpProvider.java:421)
at com.microsoft.graph.http.CoreHttpProvider.send(CoreHttpProvider.java:204)
at com.microsoft.graph.http.CoreHttpProvider.send(CoreHttpProvider.java:184)
at com.microsoft.graph.http.BaseRequest.send(BaseRequest.java:306)
at com.microsoft.graph.requests.extensions.TeamUnarchiveRequest.post(TeamUnarchiveRequest.java:62)
at MSTeamsService.main(MSTeamsService.java:65)
Caused by: java.lang.NullPointerException
at java.base/java.util.regex.Matcher.getTextLength(Matcher.java:1770)
at java.base/java.util.regex.Matcher.reset(Matcher.java:416)
at java.base/java.util.regex.Matcher.<init>(Matcher.java:253)
at java.base/java.util.regex.Pattern.matcher(Pattern.java:1134)
at okhttp3.MediaType.get(MediaType.java:53)
at okhttp3.MediaType.parse(MediaType.java:106)
at com.microsoft.graph.http.CoreHttpProvider$3.contentType(CoreHttpProvider.java:346)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:53)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.microsoft.graph.httpcore.TelemetryHandler.intercept(TelemetryHandler.java:35)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.microsoft.graph.httpcore.RedirectHandler.intercept(RedirectHandler.java:123)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.microsoft.graph.httpcore.RetryHandler.intercept(RetryHandler.java:140)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.microsoft.graph.httpcore.AuthenticationHandler.intercept(AuthenticationHandler.java:31)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
at okhttp3.RealCall.execute(RealCall.java:92)
at com.microsoft.graph.http.CoreHttpProvider.sendRequestInternal(CoreHttpProvider.java:355)
... 5 more
And the other call:
graphApplicationClient.directory().deletedItems({team/groupId}).restore().buildRequest().post();
ERROR:
Apr. 24, 2020 5:04:14 PM com.microsoft.graph.logger.DefaultLogger logDebug
INFORMATION: Starting to send request, URL https://graph.microsoft.com/v1.0/directory/deletedItems/{team/groupId}/microsoft.graph.restore
Apr. 24, 2020 5:04:14 PM com.microsoft.graph.logger.DefaultLogger logDebug
INFORMATION: Request Method POST
Apr. 24, 2020 5:04:14 PM com.microsoft.graph.logger.DefaultLogger logError
SCHWERWIEGEND: CoreHttpProvider[send] - 204Error during http request
Apr. 24, 2020 5:04:14 PM com.microsoft.graph.logger.DefaultLogger logError
SCHWERWIEGEND: Throwable detail: com.microsoft.graph.core.ClientException: Error during http request
Exception in thread "main" com.microsoft.graph.core.ClientException: Error during http request
at com.microsoft.graph.http.CoreHttpProvider.sendRequestInternal(CoreHttpProvider.java:421)
at com.microsoft.graph.http.CoreHttpProvider.send(CoreHttpProvider.java:204)
at com.microsoft.graph.http.CoreHttpProvider.send(CoreHttpProvider.java:184)
at com.microsoft.graph.http.BaseRequest.send(BaseRequest.java:306)
at com.microsoft.graph.requests.extensions.DirectoryObjectRestoreRequest.post(DirectoryObjectRestoreRequest.java:53)
at MSTeamsService.main(MSTeamsService.java:66)
Caused by: java.lang.NullPointerException
at java.base/java.util.regex.Matcher.getTextLength(Matcher.java:1770)
at java.base/java.util.regex.Matcher.reset(Matcher.java:416)
at java.base/java.util.regex.Matcher.<init>(Matcher.java:253)
at java.base/java.util.regex.Pattern.matcher(Pattern.java:1134)
at okhttp3.MediaType.get(MediaType.java:53)
at okhttp3.MediaType.parse(MediaType.java:106)
at com.microsoft.graph.http.CoreHttpProvider$3.contentType(CoreHttpProvider.java:346)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:53)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.microsoft.graph.httpcore.TelemetryHandler.intercept(TelemetryHandler.java:35)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.microsoft.graph.httpcore.RedirectHandler.intercept(RedirectHandler.java:123)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.microsoft.graph.httpcore.RetryHandler.intercept(RetryHandler.java:140)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.microsoft.graph.httpcore.AuthenticationHandler.intercept(AuthenticationHandler.java:31)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
at okhttp3.RealCall.execute(RealCall.java:92)
at com.microsoft.graph.http.CoreHttpProvider.sendRequestInternal(CoreHttpProvider.java:355)
... 5 more
(SCHWERWIEGEND means FATAL)
If I try these calls in GraphExplorer they working fine..
Can someone help me?
Best regards!
For everyone who has the same problem as I. GraphAPI provides a customRequest() function. I use the same token, the same url, the same properties, but using the customRequest.
graphApplicationClient.customRequest("/teams/" + pTeamId + "/unarchive").buildRequest().post(new JsonObject());
Same solution for restore..
graphApplicationClient.customRequest("/directory/deletedItems/" + pTeamId + "/restore").buildRequest().post(new JsonObject()
This isn't the right solution for it, because it should work with the normal GraphAPI, that's why I don't mark this as an answer. But it is a workaround for everyone who has the same problem..

SMTP config and java error in ReportServer. No password supplied for PKCS#12 KeyStore

I am trying to config smtp for scheduled reports in ReportServer.
So my smtp congif:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<smtp>
<host>smtp.gmail.com</host>
<port>587</port>
<username>xxx#gmail.com</username>
<password>xxx</password>
<ssl>false</ssl>
<tls>
<enable>true</enable>
<require>false</require>
</tls>
</smtp>
<mail>
<sender>xxx#gmail.com</sender>
<forceSender>false</forceSender>
<encryptionPolicy>allow_mixed</encryptionPolicy>
</mail>
</configuration>
I tried different configurations using ssl true, port 465.
https://forum.reportserver.net/viewtopic.php?pid=2291#p2291
I also used this configuration on Knowage BI and it worked but it did not have scheduler on free version so I tried ReportServer.
Now I can't figure this error out:
java.lang.RuntimeException: javax.mail.MessagingException: Could not convert socket to TLS;
nested exception is:
java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)
at net.datenwerke.rs.scheduler.service.scheduler.mail.MailReportAction$1.handleException(MailReportAction.java:149)
at net.datenwerke.rs.core.service.mail.MailServiceImpl.sendMailSync(MailServiceImpl.java:243)
at net.datenwerke.rs.scheduler.service.scheduler.mail.MailReportAction.doExecute(MailReportAction.java:140)
at net.datenwerke.scheduler.service.scheduler.entities.AbstractAction.execute(AbstractAction.java:59)
at net.datenwerke.scheduler.service.scheduler.tasks.SchedulerTask.executeAction(SchedulerTask.java:495)
at net.datenwerke.scheduler.service.scheduler.tasks.SchedulerTask.executeActions(SchedulerTask.java:385)
at net.datenwerke.scheduler.service.scheduler.tasks.SchedulerTask.safeCall(SchedulerTask.java:209)
at net.datenwerke.scheduler.service.scheduler.tasks.SchedulerTask.call(SchedulerTask.java:101)
at net.datenwerke.scheduler.service.scheduler.tasks.SchedulerTask.call(SchedulerTask.java:1)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: javax.mail.MessagingException: Could not convert socket to TLS;
nested exception is:
java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)
at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1918)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:652)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
at net.datenwerke.rs.core.service.mail.MailServiceImpl.sendMailSync(MailServiceImpl.java:233)
... 11 more
Caused by: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)
at java.base/javax.net.ssl.DefaultSSLSocketFactory.throwException(SSLSocketFactory.java:263)
at java.base/javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:285)
at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:484)
at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1913)
... 18 more
Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)
at java.base/java.security.Provider$Service.newInstance(Provider.java:1831)
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:236)
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:164)
at java.base/javax.net.ssl.SSLContext.getInstance(SSLContext.java:168)
at java.base/javax.net.ssl.SSLContext.getDefault(SSLContext.java:99)
at java.base/javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:123)
at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:479)
... 19 more
Caused by: java.lang.NullPointerException: No password supplied for PKCS#12 KeyStore.
at org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineLoad(Unknown Source)
at java.base/java.security.KeyStore.load(KeyStore.java:1479)
at java.base/sun.security.ssl.TrustStoreManager$TrustAnchorManager.loadKeyStore(TrustStoreManager.java:365)
at java.base/sun.security.ssl.TrustStoreManager$TrustAnchorManager.getTrustedCerts(TrustStoreManager.java:313)
at java.base/sun.security.ssl.TrustStoreManager.getTrustedCerts(TrustStoreManager.java:55)
at java.base/sun.security.ssl.TrustManagerFactoryImpl.engineInit(TrustManagerFactoryImpl.java:49)
at java.base/javax.net.ssl.TrustManagerFactory.init(TrustManagerFactory.java:278)
at java.base/sun.security.ssl.SSLContextImpl$DefaultManagersHolder.getTrustManagers(SSLContextImpl.java:1052)
at java.base/sun.security.ssl.SSLContextImpl$DefaultManagersHolder.<clinit>(SSLContextImpl.java:1022)
at java.base/sun.security.ssl.SSLContextImpl$DefaultSSLContext.<init>(SSLContextImpl.java:1197)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.security.Provider.newInstanceUtil(Provider.java:153)
at java.base/java.security.Provider$Service.newInstance(Provider.java:1824)
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:236)
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:164)
at java.base/javax.net.ssl.SSLContext.getInstance(SSLContext.java:168)
at java.base/javax.net.ssl.SSLContext.getDefault(SSLContext.java:99)
at java.base/javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:123)
at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:479)
at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1913)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:652)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
at net.datenwerke.rs.core.service.mail.MailServiceImpl.sendMailSync(MailServiceImpl.java:233)
at net.datenwerke.rs.core.service.mail.MailServiceImpl$1.run(MailServiceImpl.java:266)
... 3 more
So I read a few topics, maybe I am missing certificate, I am not sure. Kind of fresh here.
Additional information:
Java jdk_1.8.0_202
Windows 7
Thanks for the help.
I solved this issue myself.
I checked log files and found a warning message: "server certificate does NOT include an ID which matches the server name".
After some digging opened openssl.exe. It gave an error it cannot find ssi.conf file, wrong path.
Fixed it.
Scheduler and mailing works fine now. :)

StormCrawler cannot connect to ElasticSearch

While running the command:
storm jar target/crawlIndexer-1.0-SNAPSHOT.jar org.apache.storm.flux.Flux --local es-injector.flux --sleep 86400000
I get an error saying:
8710 [Thread-26-status-executor[4 4]] ERROR c.d.s.e.p.StatusUpdaterBolt -
Can't connect to ElasticSearch
When running http://localhost:9200/ in browser ES successfully loads up. Kibana also connects to ES. So it must just be the connection from StromCrawler to ElasticSearch.
What could be the issue?
Snippet of full error:
8710 [Thread-26-status-executor[4 4]] ERROR c.d.s.e.p.StatusUpdaterBolt - Can't connect to ElasticSearch
java.lang.RuntimeException: java.net.UnknownHostException: http: nodename nor servname provided, or not known
at com.digitalpebble.stormcrawler.elasticsearch.ElasticSearchConnection.getClient(ElasticSearchConnection.java:107) ~[crawlIndexer-1.0-SNAPSHOT.jar:?]
at com.digitalpebble.stormcrawler.elasticsearch.ElasticSearchConnection.getConnection(ElasticSearchConnection.java:151) ~[crawlIndexer-1.0-SNAPSHOT.jar:?]
at com.digitalpebble.stormcrawler.elasticsearch.persistence.StatusUpdaterBolt.prepare(StatusUpdaterBolt.java:141) [crawlIndexer-1.0-SNAPSHOT.jar:?]
at org.apache.storm.daemon.executor$fn__5044$fn__5057.invoke(executor.clj:791) [storm-core-1.1.0.jar:1.1.0]
at org.apache.storm.util$async_loop$fn__557.invoke(util.clj:482) [storm-core-1.1.0.jar:1.1.0]
at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Caused by: java.net.UnknownHostException: http: nodename nor servname provided, or not known
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[?:1.8.0_151]
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) ~[?:1.8.0_151]
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) ~[?:1.8.0_151]
at java.net.InetAddress.getAllByName0(InetAddress.java:1276) ~[?:1.8.0_151]
at java.net.InetAddress.getAllByName(InetAddress.java:1192) ~[?:1.8.0_151]
at java.net.InetAddress.getAllByName(InetAddress.java:1126) ~[?:1.8.0_151]
at java.net.InetAddress.getByName(InetAddress.java:1076) ~[?:1.8.0_151]
at com.digitalpebble.stormcrawler.elasticsearch.ElasticSearchConnection.getClient(ElasticSearchConnection.java:104) ~[crawlIndexer-1.0-SNAPSHOT.jar:?]
... 6 more
8710 [Thread-18-__metricscom.digitalpebble.stormcrawler.elasticsearch.metrics.MetricsConsumer-executor[2 2]] ERROR c.d.s.e.m.MetricsConsumer - Can't connect to ElasticSearch
java.lang.RuntimeException: java.net.UnknownHostException: http
at com.digitalpebble.stormcrawler.elasticsearch.ElasticSearchConnection.getClient(ElasticSearchConnection.java:107) ~[crawlIndexer-1.0-SNAPSHOT.jar:?]
at com.digitalpebble.stormcrawler.elasticsearch.ElasticSearchConnection.getConnection(ElasticSearchConnection.java:151) ~[crawlIndexer-1.0-SNAPSHOT.jar:?]
at com.digitalpebble.stormcrawler.elasticsearch.ElasticSearchConnection.getConnection(ElasticSearchConnection.java:133) ~[crawlIndexer-1.0-SNAPSHOT.jar:?]
at com.digitalpebble.stormcrawler.elasticsearch.metrics.MetricsConsumer.prepare(MetricsConsumer.java:68) [crawlIndexer-1.0-SNAPSHOT.jar:?]
at org.apache.storm.metric.MetricsConsumerBolt.prepare(MetricsConsumerBolt.java:77) [storm-core-1.1.0.jar:1.1.0]
at org.apache.storm.daemon.executor$fn__5044$fn__5057.invoke(executor.clj:791) [storm-core-1.1.0.jar:1.1.0]
at org.apache.storm.util$async_loop$fn__557.invoke(util.clj:482) [storm-core-1.1.0.jar:1.1.0]
at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Caused by: java.net.UnknownHostException: http
at java.net.InetAddress.getAllByName0(InetAddress.java:1280) ~[?:1.8.0_151]
at java.net.InetAddress.getAllByName(InetAddress.java:1192) ~[?:1.8.0_151]
at java.net.InetAddress.getAllByName(InetAddress.java:1126) ~[?:1.8.0_151]
at java.net.InetAddress.getByName(InetAddress.java:1076) ~[?:1.8.0_151]
at com.digitalpebble.stormcrawler.elasticsearch.ElasticSearchConnection.getClient(ElasticSearchConnection.java:104) ~[crawlIndexer-1.0-SNAPSHOT.jar:?]
... 8 more
8714 [Thread-26-status-executor[4 4]] ERROR o.a.s.util - Async loop died!
java.lang.RuntimeException: java.lang.RuntimeException: java.net.UnknownHostException: http: nodename nor servname provided, or not known
at com.digitalpebble.stormcrawler.elasticsearch.persistence.StatusUpdaterBolt.prepare(StatusUpdaterBolt.java:145) ~[crawlIndexer-1.0-SNAPSHOT.jar:?]
at org.apache.storm.daemon.executor$fn__5044$fn__5057.invoke(executor.clj:791) ~[storm-core-1.1.0.jar:1.1.0]
Perhaps there is something I need to modify in elasticsearch.yml or es-conf.yml? (They both have default settings)
Got the application to work by playing around (for many hours).
Steps:
Reverted back Storm-Crawler-Core and Storm-Crawler-Elastic-Search to version 1.5 in the maven file.
Used the 1.5 flux/yaml config file versions from Storm-Crawler-Elastic-Search
Using Elastic Search 5.4.0
Using Kibana 5.4.0
Your error message above mentions ElasticSearchConnection.java:104 so you must be using a release and not the code from the master branch. Make sure the es conf corresponds to the same version. Did you copy the conf from the master branch? The next release will have a different format for the addresses

Categories