Ramesh,
Please start a new JIRA issue and upload your AAR (and source)
thanks,
dims
On 11/11/06, Ramesh Gurunathan <[EMAIL PROTECTED]> wrote:
Hi,
I am using Axis2 latest snapshot deployed on Tomcat server. I have a very
simple service method that takes a string input and returns a polymorphic
array output. I have two concrete implementations for the abstract class
'AbstractItem'. Based on the input 'itemType', an array of one of the
implementing objects will be returned at the runtime. Here is the code
snippet.
public AbstractItem[] createItems(String itemType)
{
AbstractItem[] items = new AbstractItem[1];
if(itemType.equals("electronic")) {
ElectronicItem item = new ElectronicItem();
item.setElectronicItemName("Television");
item.setItemID("1000");
items[0] = item;
} else if (itemType.equals("computer")) {
ComputerItem item = new ComputerItem();
item.setComputerModel("Dell laptop");
item.setItemID("2000");
items[0] = item;
}
return items;
}
When I pass in input value "electronic" for the itemType from the soap
client (using soap UI), I received NullPointerException at the console and
the soap client received a fault. I am using RPC message receiver. It seems
WSDL was generated correctly but the service invocation fails.
Exception stack trace:
2006-11-11 14:36:07,856 ERROR
org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver -
Exception occurred while trying to invoke service method createItems
org.apache.axiom.om.OMException
: java.lang.NullPointerException
at
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:199)
at
org.apache.axiom.om.impl.llom.OMNodeImpl.build(OMNodeImpl.java:316)
at org.apache.axiom.om.impl.llom.OMElementImpl.build
(OMElementImpl.java:624)
at
org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:591)
at
org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:117)
at org.apache.axiom.om.impl.llom.OMElementImpl.addChild
(OMElementImpl.java:240)
at
org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:193)
at
org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:169)
at
org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic
(RPCMessageReceiver.java:136)
at
org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:39)
at
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:496)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:319)
at
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:247)
at javax.servlet.http.HttpServlet.service
(HttpServlet.java:709)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at
org.apache.axis2.databinding.utils.BeanUtil.getPullParser
(BeanUtil.java:78)
at
org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.processProperties(ADBXMLStreamReaderImpl.java:948)
at
org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.next(ADBXMLStreamReaderImpl.java
:802)
at
org.apache.axis2.util.StreamWrapper.next(StreamWrapper.java:68)
at
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:116)
This is a simple use case for any web service implementation. I am sure
Axis2 takes care of this case, but I am missing something here. Any helps is
much appreciated. Thanks.
Ramesh
--
Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]