B4J Question Hitting an endpoint on b4j with curl, problem

Hi guys, i need help with my curld, from cmd i'm successfully hitting this API using curl: curl --insecure -H "Content-Type: application/json" -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJzZjdkZXYiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlY3JldC5uYW1lIjoic2Ztb24tZGV2LXRva2VuLWtrNDlrIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6InNmbW9uLWRldiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjMzM2NmZTI3LTQ2MjYtMTFlZC1iMzRhLWM2YmFkZWI5ZWE0OSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpzZjdkZXY6c2Ztb24tZGV2In0.dknEAh7GvUhUZ0oNL-2Oyn_YbqFOx93o-P3Zz4ZMSxsBuPz0I46A4HyxyAEUAzpqe4akHWf2FnDmO_VTUsiBKwu9AIoj2URt3SdOaxVnxPAZSXK54RuqDLPl9e4XLxQo_UqnmvJMZQYRoDLAZ7GquU6pa49SpnEuyluH4MbXjs_YGQuPQ3Rb5pfV0xqELx0CElhacHquGwju9KGuil6mlL-fPAffhQNHgFtHgv5pmSuAq8-iwNajDNYaT_wkQ8m2PX2ECO9-9szhYF5d-_Kt5UJq2MtMSVyWpeNR-JxEUEBV0rWEBL4tfLwSu4z5WrBs2YPSWoncoLl6ebCl_Q8EOg" -X GET https://192.168.101.115:8443/api/v1/namespaces/sf7dev/pods

But when i tried the same thing on B4J (my project), it returns an error, below is my code:

#Region Project Attributes
#CommandLineArgs:
#MergeLibraries: True
#End Region

Sub Process_Globals
Private srvr As Server
Private lat As practice
Dim jHttp As HttpJob
Private key As String = "5643965212:AAHsaulX-rqHF4JwmASzSCUpBxI8mYVqX80"
Dim Token As String = "eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJzZjdkZXYiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlY3JldC5uYW1lIjoic2Ztb24tZGV2LXRva2VuLWtrNDlrIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6InNmbW9uLWRldiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjMzM2NmZTI3LTQ2MjYtMTFlZC1iMzRhLWM2YmFkZWI5ZWE0OSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpzZjdkZXY6c2Ztb24tZGV2In0.dknEAh7GvUhUZ0oNL-2Oyn_YbqFOx93o-P3Zz4ZMSxsBuPz0I46A4HyxyAEUAzpqe4akHWf2FnDmO_VTUsiBKwu9AIoj2URt3SdOaxVnxPAZSXK54RuqDLPl9e4XLxQo_UqnmvJMZQYRoDLAZ7GquU6pa49SpnEuyluH4MbXjs_YGQuPQ3Rb5pfV0xqELx0CElhacHquGwju9KGuil6mlL-fPAffhQNHgFtHgv5pmSuAq8-iwNajDNYaT_wkQ8m2PX2ECO9-9szhYF5d-_Kt5UJq2MtMSVyWpeNR-JxEUEBV0rWEBL4tfLwSu4z5WrBs2YPSWoncoLl6ebCl_Q8EOg"
Dim Http As OkHttpClient
Dim Http2 As OkHttpRequest
Private sh As Shell
End Sub

Sub AppStart (Args() As String)
srvr.Initialize("srvr")
jHttp.Initialize("jHttp", Me)
jHttp.Download("https://192.168.101.115:8443/api/v1/namespaces/sf7dev/pods")
jHttp.GetRequest.SetHeader("Content-Type", "application/json")
jHttp.GetRequest.SetHeader("Authorization", "Bearer " & Token)
srvr.Start
StartMessageLoop
End Sub

and this is the error:

Waiting for debugger to connect...
Program started.
2023-02-14 17:45:48.280:INFO :eek:ejs.Server:main: jetty-11.0.9; built: 2022-03-30T17:44:47.085Z; git: 243a48a658a183130a8c8de353178d154ca04f04; jvm 18.0.1.1+2-6
2023-02-14 17:45:48.398:INFO :eek:ejss.DefaultSessionIdManager:main: Session workerName=node0
2023-02-14 17:45:48.422:INFO :eek:ejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@37afeb11{/,file:///C:/laragon/www/NOTIF_~1/Objects/www,AVAILABLE}
2023-02-14 17:45:48.476:INFO :eek:ejs.RequestLogWriter:main: Opened C:\laragon\www\notif_tele\Objects\logs\b4j-2023_02_14.request.log
2023-02-14 17:45:48.552:INFO :eek:ejs.AbstractConnector:main: Started ServerConnector@305fd85d{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
2023-02-14 17:45:48.569:INFO :eek:ejs.Server:main: Started Server@40f08448{STARTING}[11.0.9,sto=0] @1336ms
Emulated network latency: 100ms
javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:371)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:314)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:309)
at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:654)
at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)
at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)
at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:458)
at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:201)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1500)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1415)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421)
at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379)
at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337)
at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209)
at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
at anywheresoftware.b4h.okhttp.OkHttpClientWrapper.executeWithTimeout(OkHttpClientWrapper.java:175)
at anywheresoftware.b4h.okhttp.OkHttpClientWrapper.access$0(OkHttpClientWrapper.java:172)
at anywheresoftware.b4h.okhttp.OkHttpClientWrapper$ExecuteHelper.run(OkHttpClientWrapper.java:220)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:388)
at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:271)
at java.base/sun.security.validator.Validator.validate(Validator.java:256)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)
at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638)
... 36 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:383)
... 41 more
ResponseError. Reason: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target, Response:
Error occurred on line: 292 (HttpJob)
java.io.FileNotFoundException: C:\Users\COBAAJ~1\AppData\Local\Temp\1 (The system cannot find the file specified)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:216)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
at anywheresoftware.b4a.objects.streams.File.OpenInput(File.java:244)
at b4j.example.httpjob._getstring2(httpjob.java:403)
at b4j.example.httpjob._getstring(httpjob.java:137)
at b4j.example.main._jobdone(main.java:99)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:629)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:237)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.keywords.Common.CallSub4(Common.java:514)
at anywheresoftware.b4a.keywords.Common.access$0(Common.java:494)
at anywheresoftware.b4a.keywords.Common$CallSubDelayedHelper.run(Common.java:568)
at anywheresoftware.b4a.keywords.SimpleMessageLoop.runMessageLoop(SimpleMessageLoop.java:47)
at anywheresoftware.b4a.StandardBA.startMessageLoop(StandardBA.java:43)
at anywheresoftware.b4a.shell.ShellBA.startMessageLoop(ShellBA.java:121)
at anywheresoftware.b4a.keywords.Common.StartMessageLoop(Common.java:180)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:309)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at b4j.example.main.main(main.java:29)
 

MarcoRome

Expert
Licensed User
Longtime User
You have https and error is: unable to find valid certification path
javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
 
Upvote 0
Top