The product that I work on has a web services API which consists of several 
specialized services. This api works off of axis2 1.3 currently. I have been 
tasked with upgrading this to use axis2 1.4.1 or axis2 1.5.
Minimally, I need to get a successful compile of our baseline and have all web 
service junit tests (which consist of java test clients) run successfully to 
consider an upgrade to 1.4.1 or 1.5 successful. The task has been a lot harder 
than I imagined thanks to the roadblocks I describe below.

I first tried to upgrade to axis2 1.5.

I ran into issues which seem to stem from the fact that schema type for 
java.util.Date has changed from xs:dateTime to xs:date in this version of axis. 
The below thread discusses the same and one of the authors(Pétur Runólfsson) 
mentions a patch to fix the problem, but I can't seem to find it. Could you 
point me to this patch ?  or is this something that has been integrated into 
the axis2 baseline ? I do like the idea of being able to specify a service 
parameter to have the java.util.Date attribute as a xs:dateTime type.
http://osdir.com/ml/axis-dev-ws.apache.org/2009-06/msg00162.html
An alternate suggestion was to change the Date type attribute to Calendar type 
attribute, which would affect the service interface and we don't want to do 
that.

Then, I tried upgrading to axis2 1.4.1, no date/dateTime problems here, but 
instead I get several exceptions with stack traces that look like below when I 
run the junits.
)org.apache.axiom.om.OMException: java.lang.NullPointerException
        at 
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:249)
        at org.apache.axiom.om.impl.llom.OMNodeImpl.build(OMNodeImpl.java:327)
        at 
org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:706)
        at 
org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:675)
        at 
org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:124)
        at 
org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:274)
        at 
org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:203)
        at 
org.apache.axiom.soap.impl.llom.SOAPBodyImpl.addChild(SOAPBodyImpl.java:231)
        at 
org.apache.axis2.client.ServiceClient.fillSOAPEnvelope(ServiceClient.java:713)
        at 
org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:545)
        at 
org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)
        at 
org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:102)
        at 
com.bmc.bcan.ws.client.DeviceServiceStub.getDevices(DeviceServiceStub.java:86)
        at 
com.bmc.bcan.ws.DeviceServiceTest.testGetDevicesGood(DeviceServiceTest.java:287)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Caused by: java.lang.NullPointerException
        at 
org.apache.axis2.databinding.utils.BeanUtil.getPullParser(BeanUtil.java:137)
        at 
org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.processProperties(ADBXMLStreamReaderImpl.java:989)
        at 
org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.next(ADBXMLStreamReaderImpl.java:855)
        at org.apache.axis2.util.StreamWrapper.next(StreamWrapper.java:71)
        at 
org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:506)
        at 
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:161)

Searching the forums led me to several dated emails that talk about similar 
problems when dealing with Collection objects and the suggestion was to use 
arrays instead. But in our case we don't have collections but arrays of a 
complex type objects which is supposed to work. What maybe going on here ?

Any help that will keep me going with upgrading to either 1.5 or 1.4.1 or both 
will be greatly appreciated.

Thanks,
Suma




Reply via email to