Topic RSS1:33, EEST
April 12, 2018
OfflineWhile setting the creating certificate for application identity, am getting a null pointer excception.
final ApplicationIdentity identity = ApplicationIdentity.loadOrCreateCertificate(
applicationDescription,
“Some organization”, /* Organization Name */
“opcua”, /* Private Key Password, optional */
new File(certStore.getBaseDir(), “private”), /* Key File Path */
null, /* CA certificate & private key, optional */
null, /* Key Sizes for instance certificates to create, optional */
true); /* Enable renewing the certificate */
I get the following exception.
java.lang.NullPointerException
at com.prosysopc.ua.ApplicationIdentity.a(SourceFile:686)
at com.prosysopc.ua.ApplicationIdentity.loadOrCreateCertificate(SourceFile:356)
at com.prosysopc.ua.ApplicationIdentity.loadOrCreateCertificate(SourceFile:318)
at com.iot.nms.deviceprotocols.opcua.OpcUaClient.initApplicationIdentity(OpcUaClient.java:121)
at com.iot.nms.deviceprotocols.opcua.OpcUaClient.initialize(OpcUaClient.java:92)
at com.iot.nms.deviceprotocols.opcua.OpcUaClientTest.getOpcUaClient(OpcUaClientTest.java:51)
at com.iot.nms.deviceprotocols.opcua.OpcUaClientTest.readValuesTest(OpcUaClientTest.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
at org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:182)
at org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNGSpringContextTests.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:194)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:707)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1123)
at org.testng.TestNG.run(TestNG.java:1031)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:132)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeSingleClass(TestNGDirectoryTestSuite.java:112)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:99)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:147)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121)
12:24, EEST
April 17, 2013
OfflineThank you for the good error report. The problem is that the Application Name field inside the Application Description is null.
You can look at the SampleConsoleClient example, where the Application Name is set like this:
appDescription.setApplicationName(new LocalizedText(APP_NAME + “@localhost”));
The error message is not clear meaning that you indeed have no way of figuring this out from the error message itself. In principle, the SDK could make a null check and report this in a more informative way. However, the Application Name is kind of a basic thing that all OPC UA applications should have. Anyway, I marked this now into our issue tracker and we’ll consider improving this in a future release.
Let us know if there’s further questions about this issue or if you have some questions about what the Application Name means.
1 Guest(s)

Log In
Register