Error message: 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:439) at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306) at java.base/sun.security.validator.Validator.validate(Validator.java:264) at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:313) at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:222) at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1341) ... 47 common frames omitted 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:434) ... 53 common frames omitted
any suggestions how to tackle it I have a signed certificate available with me
you are using an older snapshot version of the OPC UA Gateway, could you please try a new released version: Index of /examples/opc-ua/
If this problem still exists, could you please share the complete log. This would help me to investigate why the gateway has problems with certificate.
2023-11-16 12:19:10.656 INFO 100986 --- [ scheduler-11] c.c.o.c.g.m.HttpPostQueue : Queue buffer size: 0/25000
2023-11-16 12:19:13.557 INFO 100986 --- [ scheduler-10] c.c.o.c.g.v.ValueMapManagerService : No values are currently known. Skipping persisting value maps
2023-11-16 12:19:13.559 INFO 100986 --- [ scheduler-6] c.c.o.c.g.m.GatewayMonitoringService : No platform credentials are available. Skipping sending monitoring information.
2023-11-16 12:19:13.559 INFO 100986 --- [ scheduler-2] c.c.o.c.g.m.GatewayMonitoringService : Items left to flush: Measurements 0, Events 0, Alarms 0, MaxCapacity: 250000
2023-11-16 12:19:13.561 INFO 100986 --- [ scheduler-6] c.c.o.c.g.s.SubscriptionUpdateScheduler : Update subscriptions for knowing servers
2023-11-16 12:19:13.561 INFO 100986 --- [ scheduler-6] c.c.o.c.g.s.SubscriptionUpdateScheduler : Platform credentials are not available yet, skip updating subscription and will check again in the next round
2023-11-16 12:19:14.330 INFO 100986 --- [ scheduler-1] c.c.o.c.g.b.service.BootstrapService : Polling device credentials...
2023-11-16 12:19:14.331 INFO 100986 --- [ scheduler-1] c.c.o.c.g.b.service.BootstrapService : Credentials is not available locally or bootstrap is forced, polling from server..
2023-11-16 12:19:14.337 ERROR 100986 --- [ scheduler-1] o.s.s.s.TaskUtils$LoggingErrorHandler : Unexpected error occurred in scheduled task
javax.ws.rs.ProcessingException: java.net.UnknownHostException: iot-edge-server.persistent.co.in: Name or service not known
at org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:531)
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:297)
at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$0(JerseyInvocation.java:630)
at org.glassfish.jersey.client.JerseyInvocation.call(JerseyInvocation.java:665)
at org.glassfish.jersey.client.JerseyInvocation.lambda$runInScope$3(JerseyInvocation.java:659)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:205)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:390)
at org.glassfish.jersey.client.JerseyInvocation.runInScope(JerseyInvocation.java:659)
at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:629)
at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:434)
at org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:340)
at com.cumulocity.sdk.client.RestConnector.httpPost(RestConnector.java:376)
at com.cumulocity.sdk.client.RestConnector.post(RestConnector.java:269)
at com.cumulocity.sdk.client.devicecontrol.DeviceCredentialsApiImpl.pollCredentials(DeviceCredentialsApiImpl.java:46)
at com.cumulocity.opcua.client.gateway.bootstrap.service.BootstrapService.pollDeviceCredentials(BootstrapService.java:157)
at com.cumulocity.opcua.client.gateway.bootstrap.service.BootstrapService.lambda$scheduleDeviceCredentialsPoll$0(BootstrapService.java:144)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
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:829)
Caused by: java.net.UnknownHostException: iot-edge-server.persistent.co.in: Name or service not known
at java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.base/java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:930)
at java.base/java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1543)
at java.base/java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:848)
at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1533)
at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1386)
at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1307)
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:111)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71)
at org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:483)
... 24 common frames omitted
Do you have an IP address? If yes check the IP address, if you can reach it from your local machine you can add this to your local host file. If not, please check with the IT/infrastructure department how you can reach that host iot-edge-server.persistent.co.in