On Mon, Apr 28, 2008 at 10:53 AM, Nishant Joshi <[EMAIL PROTECTED]> wrote:
> Hi, > I m using Tuscany1.2 RC4, I have one service which was getting a > simplebean > as parameter. If i pass null instead of that bean i m getting following > error. > I m using SCA client > > org.osoa.sca.ServiceRuntimeException: > java.lang.IndexOutOfBoundsException: > Index: 3, Size: 3 > at > > org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:123) > at > > org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:89) > at > > org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:83) > at > > org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.invoke(RuntimeWireImpl.java:138) > at > > org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider.invokeTarget(Axis2ServiceProvider.java:641) > at > > org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceInOutSyncMessageReceiver.invokeBusinessLogic(Axis2ServiceInOutSyncMessageReceiver.java:68) > at > > org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:42) > at > > org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145) > at > > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) > at > > org.apache.tuscany.sca.host.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:102) > at > > org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.doFilter(TuscanyServletFilter.java:91) > .............................................. > ................................................ > ........................................... > Caused by: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3 > at java.util.ArrayList.RangeCheck(ArrayList.java:572) > at java.util.ArrayList.get(ArrayList.java:347) > at > > org.apache.tuscany.sca.databinding.axiom.OMElementWrapperHandler.getChild(OMElementWrapperHandler.java:161) > at > > org.apache.tuscany.sca.databinding.axiom.OMElementWrapperHandler.getChildren(OMElementWrapperHandler.java:95) > at > > org.apache.tuscany.sca.databinding.axiom.OMElementWrapperHandler.getChildren(OMElementWrapperHandler.java:47) > at > > org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:175) > at > > org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:43) > at > > org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:73) > at > > org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.transform(DataTransformationInterceptor.java:186) > at > > org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:76) > at > > org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:114) > > > If i m passing empty bean it was working fine... but giving me error when > try to pass null instead.. > > any body has face this problem ? > > -- > Thanks > Nishant Joshi > Hi Nishant It sounds like the code is always expecting an object to be present. I just ran a quick test and it looks like the existing WSDL generation code provides for optional parameters so maybe the interceptor code is just not compatible with this. Looking at the code in this area it is certainly expecting the parameter to be there. Certainly needs more investigation. Can you raise a JIRA and attach as much information to it as you can, e.g. a test case, WSDL etc. Thanks Simon
