axis2 arraylist/array issues

Serge Perepel <[email protected]>
Newsgroups gmane.text.xml.axis.user
Message-ID <41D8B133CD4C6540836039DE7243D9368BEB3638@AmData-EX-01.american-data.com>
Hi,

I'm using axis2 1.7.0SNAPSHOT and finding two problems.

First when I'm having ArrayList in my class, for example:

public class VEntryData{
    protected List<ViewEntryItem> items;

    public List<ViewEntryItem> getItems() {
        if (items == null) {
            items = new ArrayList<ViewEntryItem>();
        }
        return this.items;
    }
}

My service functions look like this:

public VEntryData getVED(){
    return ved;
}

public void setVED(VEntryData ved){
    this.ved = ved;
}

In this scenario the getVED() works fine and when I do setVED() from the client I pass a valid list but on the server side I get null for items field.

//========================================================================================
In the second scenario I use plain array:

public class VEntryData{
    protected ViewEntryItem[] items;

    public ViewEntryItem[] getItems() {
        if (this.items == null) {
            return new ViewEntryItem[ 0 ] ;
        }
        ViewEntryItem[] retVal = new ViewEntryItem[this.items.length] ;
        System.arraycopy(this.items, 0, retVal, 0, this.items.length);
        return (retVal);
    }

    public ViewEntryItem getItems(int idx) {
        if (this.items == null) {
            throw new IndexOutOfBoundsException();
        }
        return this.items[idx];
    }

    public int getRedLength() {
        if (this.items == null) {
            return  0;
        }
        return this.items.length;
    }
}

My service functions are the same as in previous case. In this scenario the getVED() produces the error:

[ERROR]
java.lang.NullPointerException
     at org.apache.axis2.databinding.utils.BeanUtil.getPropertyQnameList(BeanUtil.java:255)
     at org.apache.axis2.databinding.utils.BeanUtil.getPullParser(BeanUtil.java:97)
     at org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.processProperties(ADBXMLStreamReaderImpl.java:989)
     at org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.next(ADBXMLStreamReaderImpl.java:848)
     at org.apache.axis2.util.StreamWrapper.next(StreamWrapper.java:71)
     at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:682)
     at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:190)
     at org.apache.axiom.om.impl.common.OMContainerHelper.build(OMContainerHelper.java:140)
     at org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:699)
     at org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:678)
     at org.apache.axiom.om.impl.common.OMContainerHelper.addChild(OMContainerHelper.java:101)
     at org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:231)
     at org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:227)
     at org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:134)
     at org.apache.axis2.rpc.receivers.RPCUtil.processResponseAsDocLitWrapped(RPCUtil.java:533)
     at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:159)
     at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
     at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:106)
     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:169)
     at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:176)
     at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:163)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
     at java.lang.Thread.run(Unknown Source)

If anybody know how to battle those issues please help me.


[http://www.american-data.com/images/AmericanDataLogoSquareEmailSignature-01.png]

Serge Perepel
Software Developer | American Data
p. 800.464.9942 | f. 608.643.2314
[email protected]<mailto:[email protected]> | www.american-data.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.