1:33, EEST
April 12, 2018
While 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
Moderators
April 17, 2013
Thank 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.
Most Users Ever Online: 518
Currently Online:
23 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
hbrackel: 135
pramanj: 86
Francesco Zambon: 81
rocket science: 77
ibrahim: 76
Sabari: 62
kapsl: 57
gjevremovic: 49
Xavier: 43
fred: 41
Member Stats:
Guest Posters: 0
Members: 680
Moderators: 16
Admins: 1
Forum Stats:
Groups: 3
Forums: 15
Topics: 1467
Posts: 6260
Newest Members:
sagarchau, elviralangwell4, Donnavek, Eddiefauth, DonaldPooma, fidelduke938316, Jan-Pfizer, DavidROunc, fen.pang@woodside.com, aytuleModerators: Jouni Aro: 1009, Otso Palonen: 32, Tuomas Hiltunen: 5, Pyry: 1, Petri: 0, Bjarne Boström: 983, Heikki Tahvanainen: 402, Jukka Asikainen: 1, moldzh08: 0, Jimmy Ni: 26, Teppo Uimonen: 21, Markus Johansson: 42, Niklas Nurminen: 0, Matti Siponen: 321, Lusetti: 0, Ari-Pekka Soikkeli: 5
Administrators: admin: 1