You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Vaibhav Arya <va...@otssolutions.com> on 2009/04/28 11:03:21 UTC

[axis2 web service vector parameter]

Hi All,

 

I am passing a Vector as parameter to the web service,

 

        QName opSetWeather = new QName("http://service.pojo.sample",
"setVector");

 

        Vector vect = new Vector();

 

                        vect.add("value for Vector 1");

                        vect.add("value for Vector 2");

                        vect.add("value for Vector 3");

                        vect.add("value for Vector 4");

 

        Object[] opSetWeatherArgs = new Object[] { vect };

 

        serviceClient.invokeRobust(opSetWeather, opSetWeatherArgs);

 

I am getting following error,

 

Is there any fixation for this problem?

 

org.apache.axiom.om.OMException: java.lang.RuntimeException:
org.apache.axis2.AxisFault: can not find read method for : size
 
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:249)
        org.apache.axiom.om.impl.llom.OMNodeImpl.build(OMNodeImpl.java:327)
 
org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:706)
 
org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:675)
 
org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:124)
 
org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:274)
 
org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:203)
 
org.apache.axiom.soap.impl.llom.SOAPBodyImpl.addChild(SOAPBodyImpl.java:231)
 
org.apache.axis2.client.ServiceClient.fillSOAPEnvelope(ServiceClient.java:71
3)
 
org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:471)
 
org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:454)
 
org.apache.axis2.rpc.client.RPCServiceClient.invokeRobust(RPCServiceClient.j
ava:158)
        org.apache.jsp.getVector_jsp._jspService(getVector_jsp.java:94)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
93)
 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

 

 

Thanks in advance

Vaibhav Arya



===================================================================================================
Private, Confidential and Privileged. This e-mail and any files and attachments transmitted with it are confidential and/or privileged. They are intended solely for the use of the intended recipient. The content of this e-mail and any file or attachment transmitted with it may have been changed or altered without the consent of the author. If you are not the intended recipient, please note that any review, dissemination, disclosure, alteration, printing, circulation or Transmission of this e-mail and/or any file or attachment transmitted with it, is prohibited and may be unlawful. If you have received this e-mail or any file or attachment transmitted with it in error please notify OTS Solutions at info@otssolutions.com
===================================================================================================

Re: [axis2 web service vector parameter]

Posted by Sagara Gunathunga <sa...@gmail.com>.
Hi Vaibhav,
This is a one limitation of Axis2 code generation , it does not handle
Java collections properly , Axis2 recognize collections as a  generic
object such as OMElement. but in your case you can use  Array instead
of Vector.

Thanks ,


On Tue, Apr 28, 2009 at 2:33 PM, Vaibhav Arya
<va...@otssolutions.com> wrote:
>
> Hi All,
>
>
>
> I am passing a Vector as parameter to the web service,
>
>
>
>         QName opSetWeather = new QName("http://service.pojo.sample", "setVector");
>
>
>
>         Vector vect = new Vector();
>
>
>
>                         vect.add("value for Vector 1");
>
>                         vect.add("value for Vector 2");
>
>                         vect.add("value for Vector 3");
>
>                         vect.add("value for Vector 4");
>
>
>
>         Object[] opSetWeatherArgs = new Object[] { vect };
>
>
>
>         serviceClient.invokeRobust(opSetWeather, opSetWeatherArgs);
>
>
>
> I am getting following error,
>
>
>
> Is there any fixation for this problem?
>
>
>
> org.apache.axiom.om.OMException: java.lang.RuntimeException: org.apache.axis2.AxisFault: can not find read method for : size
>
>         org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:249)
>
>         org.apache.axiom.om.impl.llom.OMNodeImpl.build(OMNodeImpl.java:327)
>
>         org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:706)
>
>         org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:675)
>
>         org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:124)
>
>         org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:274)
>
>         org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:203)
>
>         org.apache.axiom.soap.impl.llom.SOAPBodyImpl.addChild(SOAPBodyImpl.java:231)
>
>         org.apache.axis2.client.ServiceClient.fillSOAPEnvelope(ServiceClient.java:713)
>
>         org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:471)
>
>         org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:454)
>
>         org.apache.axis2.rpc.client.RPCServiceClient.invokeRobust(RPCServiceClient.java:158)
>
>         org.apache.jsp.getVector_jsp._jspService(getVector_jsp.java:94)
>
>         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>
>         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
>         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
>
>         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
>
>         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
>
>         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
>
>
>
>
> Thanks in advance
>
> Vaibhav Arya
>
> ===================================================================================================
> Private, Confidential and Privileged. This e-mail and any files and attachments transmitted with it are confidential and/or privileged. They are intended solely for the use of the intended recipient. The content of this e-mail and any file or attachment transmitted with it may have been changed or altered without the consent of the author. If you are not the intended recipient, please note that any review, dissemination, disclosure, alteration, printing, circulation or Transmission of this e-mail and/or any file or attachment transmitted with it, is prohibited and may be unlawful. If you have received this e-mail or any file or attachment transmitted with it in error please notify OTS Solutions at info@otssolutions.com
> ===================================================================================================



--
Sagara Gunathunga

Blog - http://ssagara.blogspot.com
Web - http://sagaras.awardspace.com/