Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Not A Problem
-
1.6.1
-
None
-
None
-
Windows / Solaris
Description
The following code is working when using JRE 5 with Axis2 1.5.1 and 1.5.6:
public static void test() throws Exception
{ ConfigurationContext ctx = ConfigurationContextFactory.createDefaultConfigurationContext(); String svcAddrress = "http://localhost:8080/axis2/services/era_aas"; Era_aasStub stub = new Era_aasStub(ctx,svcAddrress); Era_aasStub.UserIdentityIn in = new Era_aasStub.UserIdentityIn(); in.setCallerId("DMITRIY"); // more fields are set here, all are Strings Era_aasStub.UserProfile out = stub.loginUi(in); }When I switch to JRE 6 using Axis 1.6.1 the code throws the following exception:
java.lang.NullPointerException
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:172)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at gov.nih.era.aas.client.auto.Era_aasStub.loginUi(Era_aasStub.java:498)
at AasServiceTest.test(AasServiceTest.java:93)
at AasServiceTest.main(AasServiceTest.java:53)
The workaround I have found is to change the code as following (do not pass context to the stub constructor):
public static void test() throws Exception
{ ConfigurationContext ctx = ConfigurationContextFactory.createDefaultConfigurationContext(); String svcAddrress = "http://localhost:8080/axis2/services/era_aas"; Era_aasStub stub = new Era_aasStub(svcAddrress); // <-- this is the only change I had to make Era_aasStub.UserIdentityIn in = new Era_aasStub.UserIdentityIn(); in.setCallerId("DMITRIY"); // more fields are set here, all are Strings Era_aasStub.UserProfile out = stub.loginUi(in); }However, this solution requires multiple code changes and also causes problems when we do need to pass context to the stub. Please advise if there is a proper way to make the code work using ConfigurationContextFactory.createDefaultConfigurationContext(). Additional details:
No custom configuration - I am using standard binary distribution of Axis 2 version 1.6.1. The service code is generated from WSDL using ADB data binding.