You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Paulo Henrique Trecenti <pt...@gmail.com> on 2007/05/02 16:42:27 UTC

Throwable Input2InputTransformer.java (179) IndexOutOfBoundsException

Hi,

I found a small bug in Input2InputTransformer.java (179)

"Object[] newArgs = new Object[source.length];
for (int i = 0; i < source.length; i++) {
                Object child = mediator.mediate(source[i],
sourceType.getLogical().get(i), targetType.getLogical().get(i),
context.getMetadata());
                newArgs[i] = child;
            }"

When try parse a java to wsdl

My java interface method is  "public TimeSlot editReservation(int
timeSlotID, String requestedBy, String purpose, int[] resourcesID);"

I have 4 input params

and my wsdl have 1 element with an type having 4 paramenters

When run this code whe have an IndexOutOfBoundsException

"Exception in thread "main" java.lang.IndexOutOfBoundsException : Index: 1,
Size: 1
    at java.util.ArrayList.RangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at
org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
(Input2InputTransformer.java :179)
    at
org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
(Input2InputTransformer.java:1)
    at org.apache.tuscany.databinding.impl.MediatorImpl.mediate(
MediatorImpl.java:83)
    at
org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.transform(
DataBindingInteceptor.java:189)
    at org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.invoke
(DataBindingInteceptor.java:86)
    at org.apache.tuscany.spi.wire.AbstractInvocationHandler.invoke(
AbstractInvocationHandler.java:91)
    at
org.apache.tuscany.implementation.java.proxy.JDKInvocationHandler.invoke(
JDKInvocationHandler.java:150)"

Not to be that I must work with OMElement in my java interface.


-- 
Paulo Henrique Trecenti

Re: Throwable Input2InputTransformer.java (179) IndexOutOfBoundsException

Posted by Paulo Henrique Trecenti <pt...@gmail.com>.
I am not certain if that is the way.

2007/5/4, Paulo Henrique Trecenti <pt...@gmail.com>:
>
> I have seen various discussions around the databinding and I don't know if
> my suggestions can maybe many differents but i have some modifications in
> the ElementInfo and XMLType to store the attributes maxOccurs and minOccurs
> IMHO this is the first step but is very important define the model of
> databinding.
> I had seen in Java2SimpleTypeTransformer and he must be modified to
> forward the maxOccurs, minOccurs and the value acctualy just send a String.
> It are this for now, but we have many others to make this work fine.
>
> For the jira TUSCANY-1072 I have make modifications in
> WrapperInfo.getUnwrappedInputType() to solve that. But when parse a
> physical type of any Array we have a crash in the name of the dataType.
>
> How I can send thats paths for avaliations.
>
> Thanks.
>
> 2007/5/4, Luciano Resende <lu...@gmail.com>:
> >
> > Thanks Paulo, please create a Jira and provide a patch when you have
> > something working, and Raymond or I could review and apply your patch.
> >
> > On 5/2/07, Paulo Henrique Trecenti < ptrecenti@gmail.com> wrote:
> > >
> > > Ok I can work in this task, because I need this.
> > >
> > > Currently I am making one sample where I would like to donate for the
> > > project sca tuscany, the Luciano Resende is helping me very in this.
> > >
> > > Thanks.
> > >
> > > 2007/5/2, Raymond Feng <en...@gmail.com>:
> > > >
> > > > Hi,
> > > >
> > > > Thank you for reporting this. Actually, the problem is not in the
> > > > Input2InputTransformer. It's related to how we map a java interface
> > to a
> > > > WSDL portType.
> > > >
> > > > For a wrapper style (please see WS-JAX spec for the definition) WSDL
> > > > operation with the following input wrapper element, we don't support
> > it
> > > > yet
> > > > if the child element such as "resourcesID" with maxOccurs>1.
> > > >
> > > > <xs:complexType name="editReservation">
> > > > <xs:sequence>
> > > >     <xs:element name="timeSlotID" type="xs:int"/>
> > > >     <xs:element name="requestedBy" type="xs:string" minOccurs="0"/>
> > > >     <xs:element name="purpose" type="xs:string" minOccurs="0"/>
> > > >     <xs:element name="resourcesID" type="xs:int"
> > maxOccurs="unbounded"
> > > > minOccurs="0"/>
> > > > </xs:sequence>
> > > > </xs:complexType>
> > > >
> > > > In line 382 of
> > > > org.apache.tuscany.interfacedef.wsdl.introspect.WSDLOperation.java,
> > > there
> > > > is
> > > > a "TODO" :-).
> > > >
> > > > Thanks,
> > > > Raymond
> > > >
> > > > ----- Original Message -----
> > > > From: "Paulo Henrique Trecenti" <pt...@gmail.com>
> > > > To: < tuscany-dev@ws.apache.org>
> > > > Sent: Wednesday, May 02, 2007 7:42 AM
> > > > Subject: Throwable Input2InputTransformer.java (179)
> > > > IndexOutOfBoundsException
> > > >
> > > >
> > > > > Hi,
> > > > >
> > > > > I found a small bug in Input2InputTransformer.java (179)
> > > > >
> > > > > "Object[] newArgs = new Object[source.length ];
> > > > > for (int i = 0; i < source.length; i++) {
> > > > >                Object child = mediator.mediate(source[i],
> > > > > sourceType.getLogical().get(i), targetType.getLogical().get(i),
> > > > > context.getMetadata());
> > > > >                newArgs[i] = child;
> > > > >            }"
> > > > >
> > > > > When try parse a java to wsdl
> > > > >
> > > > > My java interface method is  "public TimeSlot editReservation(int
> > > > > timeSlotID, String requestedBy, String purpose, int[]
> > resourcesID);"
> > > > >
> > > > > I have 4 input params
> > > > >
> > > > > and my wsdl have 1 element with an type having 4 paramenters
> > > > >
> > > > > When run this code whe have an IndexOutOfBoundsException
> > > > >
> > > > > "Exception in thread "main" java.lang.IndexOutOfBoundsException :
> > > Index:
> > > > > 1,
> > > > > Size: 1
> > > > >    at java.util.ArrayList.RangeCheck(Unknown Source)
> > > > >    at java.util.ArrayList.get(Unknown Source)
> > > > >    at
> > > > >
> > > >
> > >
> > org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
> > > > > (Input2InputTransformer.java :179)
> > > > >    at
> > > > >
> > > >
> > >
> > org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
> > > > > (Input2InputTransformer.java:1)
> > > > >    at org.apache.tuscany.databinding.impl.MediatorImpl.mediate(
> > > > > MediatorImpl.java:83)
> > > > >    at
> > > > >
> > >
> > org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.transform
> > > > (
> > > > > DataBindingInteceptor.java:189)
> > > > >    at
> > > > >
> > org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.invoke
> > > > > (DataBindingInteceptor.java:86)
> > > > >    at org.apache.tuscany.spi.wire.AbstractInvocationHandler.invoke
> > (
> > > > > AbstractInvocationHandler.java:91)
> > > > >    at
> > > > >
> > >
> > org.apache.tuscany.implementation.java.proxy.JDKInvocationHandler.invoke
> > > > (
> > > > > JDKInvocationHandler.java:150)"
> > > > >
> > > > > Not to be that I must work with OMElement in my java interface.
> > > > >
> > > > >
> > > > > --
> > > > > Paulo Henrique Trecenti
> > > > >
> > > >
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> > > > For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > Paulo Henrique Trecenti
> > >
> >
> >
> >
> > --
> > Luciano Resende
> > http://people.apache.org/~lresende
> > <http://people.apache.org/%7Elresende>
> >
>
>
>
> --
> Paulo Henrique Trecenti




-- 
Paulo Henrique Trecenti

Re: Throwable Input2InputTransformer.java (179) IndexOutOfBoundsException

Posted by Paulo Henrique Trecenti <pt...@gmail.com>.
I have seen various discussions around the databinding and I don't know if
my suggestions can maybe many differents but i have some modifications in
the ElementInfo and XMLType to store the attributes maxOccurs and minOccurs
IMHO this is the first step but is very important define the model of
databinding.
I had seen in Java2SimpleTypeTransformer and he must be modified to forward
the maxOccurs, minOccurs and the value acctualy just send a String.
It are this for now, but we have many others to make this work fine.

For the jira TUSCANY-1072 I have make modifications in
WrapperInfo.getUnwrappedInputType() to solve that. But when parse a physical
type of any Array we have a crash in the name of the dataType.

How I can send thats paths for avaliations.

Thanks.

2007/5/4, Luciano Resende <lu...@gmail.com>:
>
> Thanks Paulo, please create a Jira and provide a patch when you have
> something working, and Raymond or I could review and apply your patch.
>
> On 5/2/07, Paulo Henrique Trecenti <pt...@gmail.com> wrote:
> >
> > Ok I can work in this task, because I need this.
> >
> > Currently I am making one sample where I would like to donate for the
> > project sca tuscany, the Luciano Resende is helping me very in this.
> >
> > Thanks.
> >
> > 2007/5/2, Raymond Feng <en...@gmail.com>:
> > >
> > > Hi,
> > >
> > > Thank you for reporting this. Actually, the problem is not in the
> > > Input2InputTransformer. It's related to how we map a java interface to
> a
> > > WSDL portType.
> > >
> > > For a wrapper style (please see WS-JAX spec for the definition) WSDL
> > > operation with the following input wrapper element, we don't support
> it
> > > yet
> > > if the child element such as "resourcesID" with maxOccurs>1.
> > >
> > > <xs:complexType name="editReservation">
> > > <xs:sequence>
> > >     <xs:element name="timeSlotID" type="xs:int"/>
> > >     <xs:element name="requestedBy" type="xs:string" minOccurs="0"/>
> > >     <xs:element name="purpose" type="xs:string" minOccurs="0"/>
> > >     <xs:element name="resourcesID" type="xs:int" maxOccurs="unbounded"
> > > minOccurs="0"/>
> > > </xs:sequence>
> > > </xs:complexType>
> > >
> > > In line 382 of
> > > org.apache.tuscany.interfacedef.wsdl.introspect.WSDLOperation.java,
> > there
> > > is
> > > a "TODO" :-).
> > >
> > > Thanks,
> > > Raymond
> > >
> > > ----- Original Message -----
> > > From: "Paulo Henrique Trecenti" <pt...@gmail.com>
> > > To: <tu...@ws.apache.org>
> > > Sent: Wednesday, May 02, 2007 7:42 AM
> > > Subject: Throwable Input2InputTransformer.java (179)
> > > IndexOutOfBoundsException
> > >
> > >
> > > > Hi,
> > > >
> > > > I found a small bug in Input2InputTransformer.java (179)
> > > >
> > > > "Object[] newArgs = new Object[source.length];
> > > > for (int i = 0; i < source.length; i++) {
> > > >                Object child = mediator.mediate(source[i],
> > > > sourceType.getLogical().get(i), targetType.getLogical().get(i),
> > > > context.getMetadata());
> > > >                newArgs[i] = child;
> > > >            }"
> > > >
> > > > When try parse a java to wsdl
> > > >
> > > > My java interface method is  "public TimeSlot editReservation(int
> > > > timeSlotID, String requestedBy, String purpose, int[] resourcesID);"
> > > >
> > > > I have 4 input params
> > > >
> > > > and my wsdl have 1 element with an type having 4 paramenters
> > > >
> > > > When run this code whe have an IndexOutOfBoundsException
> > > >
> > > > "Exception in thread "main" java.lang.IndexOutOfBoundsException :
> > Index:
> > > > 1,
> > > > Size: 1
> > > >    at java.util.ArrayList.RangeCheck(Unknown Source)
> > > >    at java.util.ArrayList.get(Unknown Source)
> > > >    at
> > > >
> > >
> >
> org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
> > > > (Input2InputTransformer.java :179)
> > > >    at
> > > >
> > >
> >
> org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
> > > > (Input2InputTransformer.java:1)
> > > >    at org.apache.tuscany.databinding.impl.MediatorImpl.mediate(
> > > > MediatorImpl.java:83)
> > > >    at
> > > >
> > org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.transform
> > > (
> > > > DataBindingInteceptor.java:189)
> > > >    at
> > > >
> org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.invoke
> > > > (DataBindingInteceptor.java:86)
> > > >    at org.apache.tuscany.spi.wire.AbstractInvocationHandler.invoke(
> > > > AbstractInvocationHandler.java:91)
> > > >    at
> > > >
> > org.apache.tuscany.implementation.java.proxy.JDKInvocationHandler.invoke
> > > (
> > > > JDKInvocationHandler.java:150)"
> > > >
> > > > Not to be that I must work with OMElement in my java interface.
> > > >
> > > >
> > > > --
> > > > Paulo Henrique Trecenti
> > > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> > >
> > >
> >
> >
> > --
> > Paulo Henrique Trecenti
> >
>
>
>
> --
> Luciano Resende
> http://people.apache.org/~lresende
>



-- 
Paulo Henrique Trecenti

Re: Throwable Input2InputTransformer.java (179) IndexOutOfBoundsException

Posted by Paulo Henrique Trecenti <pt...@gmail.com>.
And I'm hating OMElement :)

2007/5/4, Luciano Resende <lu...@gmail.com>:
>
> Thanks Paulo, please create a Jira and provide a patch when you have
> something working, and Raymond or I could review and apply your patch.
>
> On 5/2/07, Paulo Henrique Trecenti <pt...@gmail.com> wrote:
> >
> > Ok I can work in this task, because I need this.
> >
> > Currently I am making one sample where I would like to donate for the
> > project sca tuscany, the Luciano Resende is helping me very in this.
> >
> > Thanks.
> >
> > 2007/5/2, Raymond Feng <en...@gmail.com>:
> > >
> > > Hi,
> > >
> > > Thank you for reporting this. Actually, the problem is not in the
> > > Input2InputTransformer. It's related to how we map a java interface to
> a
> > > WSDL portType.
> > >
> > > For a wrapper style (please see WS-JAX spec for the definition) WSDL
> > > operation with the following input wrapper element, we don't support
> it
> > > yet
> > > if the child element such as "resourcesID" with maxOccurs>1.
> > >
> > > <xs:complexType name="editReservation">
> > > <xs:sequence>
> > >     <xs:element name="timeSlotID" type="xs:int"/>
> > >     <xs:element name="requestedBy" type="xs:string" minOccurs="0"/>
> > >     <xs:element name="purpose" type="xs:string" minOccurs="0"/>
> > >     <xs:element name="resourcesID" type="xs:int" maxOccurs="unbounded"
> > > minOccurs="0"/>
> > > </xs:sequence>
> > > </xs:complexType>
> > >
> > > In line 382 of
> > > org.apache.tuscany.interfacedef.wsdl.introspect.WSDLOperation.java,
> > there
> > > is
> > > a "TODO" :-).
> > >
> > > Thanks,
> > > Raymond
> > >
> > > ----- Original Message -----
> > > From: "Paulo Henrique Trecenti" <pt...@gmail.com>
> > > To: <tu...@ws.apache.org>
> > > Sent: Wednesday, May 02, 2007 7:42 AM
> > > Subject: Throwable Input2InputTransformer.java (179)
> > > IndexOutOfBoundsException
> > >
> > >
> > > > Hi,
> > > >
> > > > I found a small bug in Input2InputTransformer.java (179)
> > > >
> > > > "Object[] newArgs = new Object[source.length];
> > > > for (int i = 0; i < source.length; i++) {
> > > >                Object child = mediator.mediate(source[i],
> > > > sourceType.getLogical().get(i), targetType.getLogical().get(i),
> > > > context.getMetadata());
> > > >                newArgs[i] = child;
> > > >            }"
> > > >
> > > > When try parse a java to wsdl
> > > >
> > > > My java interface method is  "public TimeSlot editReservation(int
> > > > timeSlotID, String requestedBy, String purpose, int[] resourcesID);"
> > > >
> > > > I have 4 input params
> > > >
> > > > and my wsdl have 1 element with an type having 4 paramenters
> > > >
> > > > When run this code whe have an IndexOutOfBoundsException
> > > >
> > > > "Exception in thread "main" java.lang.IndexOutOfBoundsException :
> > Index:
> > > > 1,
> > > > Size: 1
> > > >    at java.util.ArrayList.RangeCheck(Unknown Source)
> > > >    at java.util.ArrayList.get(Unknown Source)
> > > >    at
> > > >
> > >
> >
> org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
> > > > (Input2InputTransformer.java :179)
> > > >    at
> > > >
> > >
> >
> org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
> > > > (Input2InputTransformer.java:1)
> > > >    at org.apache.tuscany.databinding.impl.MediatorImpl.mediate(
> > > > MediatorImpl.java:83)
> > > >    at
> > > >
> > org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.transform
> > > (
> > > > DataBindingInteceptor.java:189)
> > > >    at
> > > >
> org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.invoke
> > > > (DataBindingInteceptor.java:86)
> > > >    at org.apache.tuscany.spi.wire.AbstractInvocationHandler.invoke(
> > > > AbstractInvocationHandler.java:91)
> > > >    at
> > > >
> > org.apache.tuscany.implementation.java.proxy.JDKInvocationHandler.invoke
> > > (
> > > > JDKInvocationHandler.java:150)"
> > > >
> > > > Not to be that I must work with OMElement in my java interface.
> > > >
> > > >
> > > > --
> > > > Paulo Henrique Trecenti
> > > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> > >
> > >
> >
> >
> > --
> > Paulo Henrique Trecenti
> >
>
>
>
> --
> Luciano Resende
> http://people.apache.org/~lresende
>



-- 
Paulo Henrique Trecenti

Re: Throwable Input2InputTransformer.java (179) IndexOutOfBoundsException

Posted by Luciano Resende <lu...@gmail.com>.
Thanks Paulo, please create a Jira and provide a patch when you have
something working, and Raymond or I could review and apply your patch.

On 5/2/07, Paulo Henrique Trecenti <pt...@gmail.com> wrote:
>
> Ok I can work in this task, because I need this.
>
> Currently I am making one sample where I would like to donate for the
> project sca tuscany, the Luciano Resende is helping me very in this.
>
> Thanks.
>
> 2007/5/2, Raymond Feng <en...@gmail.com>:
> >
> > Hi,
> >
> > Thank you for reporting this. Actually, the problem is not in the
> > Input2InputTransformer. It's related to how we map a java interface to a
> > WSDL portType.
> >
> > For a wrapper style (please see WS-JAX spec for the definition) WSDL
> > operation with the following input wrapper element, we don't support it
> > yet
> > if the child element such as "resourcesID" with maxOccurs>1.
> >
> > <xs:complexType name="editReservation">
> > <xs:sequence>
> >     <xs:element name="timeSlotID" type="xs:int"/>
> >     <xs:element name="requestedBy" type="xs:string" minOccurs="0"/>
> >     <xs:element name="purpose" type="xs:string" minOccurs="0"/>
> >     <xs:element name="resourcesID" type="xs:int" maxOccurs="unbounded"
> > minOccurs="0"/>
> > </xs:sequence>
> > </xs:complexType>
> >
> > In line 382 of
> > org.apache.tuscany.interfacedef.wsdl.introspect.WSDLOperation.java,
> there
> > is
> > a "TODO" :-).
> >
> > Thanks,
> > Raymond
> >
> > ----- Original Message -----
> > From: "Paulo Henrique Trecenti" <pt...@gmail.com>
> > To: <tu...@ws.apache.org>
> > Sent: Wednesday, May 02, 2007 7:42 AM
> > Subject: Throwable Input2InputTransformer.java (179)
> > IndexOutOfBoundsException
> >
> >
> > > Hi,
> > >
> > > I found a small bug in Input2InputTransformer.java (179)
> > >
> > > "Object[] newArgs = new Object[source.length];
> > > for (int i = 0; i < source.length; i++) {
> > >                Object child = mediator.mediate(source[i],
> > > sourceType.getLogical().get(i), targetType.getLogical().get(i),
> > > context.getMetadata());
> > >                newArgs[i] = child;
> > >            }"
> > >
> > > When try parse a java to wsdl
> > >
> > > My java interface method is  "public TimeSlot editReservation(int
> > > timeSlotID, String requestedBy, String purpose, int[] resourcesID);"
> > >
> > > I have 4 input params
> > >
> > > and my wsdl have 1 element with an type having 4 paramenters
> > >
> > > When run this code whe have an IndexOutOfBoundsException
> > >
> > > "Exception in thread "main" java.lang.IndexOutOfBoundsException :
> Index:
> > > 1,
> > > Size: 1
> > >    at java.util.ArrayList.RangeCheck(Unknown Source)
> > >    at java.util.ArrayList.get(Unknown Source)
> > >    at
> > >
> >
> org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
> > > (Input2InputTransformer.java :179)
> > >    at
> > >
> >
> org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
> > > (Input2InputTransformer.java:1)
> > >    at org.apache.tuscany.databinding.impl.MediatorImpl.mediate(
> > > MediatorImpl.java:83)
> > >    at
> > >
> org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.transform
> > (
> > > DataBindingInteceptor.java:189)
> > >    at
> > > org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.invoke
> > > (DataBindingInteceptor.java:86)
> > >    at org.apache.tuscany.spi.wire.AbstractInvocationHandler.invoke(
> > > AbstractInvocationHandler.java:91)
> > >    at
> > >
> org.apache.tuscany.implementation.java.proxy.JDKInvocationHandler.invoke
> > (
> > > JDKInvocationHandler.java:150)"
> > >
> > > Not to be that I must work with OMElement in my java interface.
> > >
> > >
> > > --
> > > Paulo Henrique Trecenti
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> >
> >
>
>
> --
> Paulo Henrique Trecenti
>



-- 
Luciano Resende
http://people.apache.org/~lresende

Re: Throwable Input2InputTransformer.java (179) IndexOutOfBoundsException

Posted by Paulo Henrique Trecenti <pt...@gmail.com>.
Ok I can work in this task, because I need this.

Currently I am making one sample where I would like to donate for the
project sca tuscany, the Luciano Resende is helping me very in this.

Thanks.

2007/5/2, Raymond Feng <en...@gmail.com>:
>
> Hi,
>
> Thank you for reporting this. Actually, the problem is not in the
> Input2InputTransformer. It's related to how we map a java interface to a
> WSDL portType.
>
> For a wrapper style (please see WS-JAX spec for the definition) WSDL
> operation with the following input wrapper element, we don't support it
> yet
> if the child element such as "resourcesID" with maxOccurs>1.
>
> <xs:complexType name="editReservation">
> <xs:sequence>
>     <xs:element name="timeSlotID" type="xs:int"/>
>     <xs:element name="requestedBy" type="xs:string" minOccurs="0"/>
>     <xs:element name="purpose" type="xs:string" minOccurs="0"/>
>     <xs:element name="resourcesID" type="xs:int" maxOccurs="unbounded"
> minOccurs="0"/>
> </xs:sequence>
> </xs:complexType>
>
> In line 382 of
> org.apache.tuscany.interfacedef.wsdl.introspect.WSDLOperation.java, there
> is
> a "TODO" :-).
>
> Thanks,
> Raymond
>
> ----- Original Message -----
> From: "Paulo Henrique Trecenti" <pt...@gmail.com>
> To: <tu...@ws.apache.org>
> Sent: Wednesday, May 02, 2007 7:42 AM
> Subject: Throwable Input2InputTransformer.java (179)
> IndexOutOfBoundsException
>
>
> > Hi,
> >
> > I found a small bug in Input2InputTransformer.java (179)
> >
> > "Object[] newArgs = new Object[source.length];
> > for (int i = 0; i < source.length; i++) {
> >                Object child = mediator.mediate(source[i],
> > sourceType.getLogical().get(i), targetType.getLogical().get(i),
> > context.getMetadata());
> >                newArgs[i] = child;
> >            }"
> >
> > When try parse a java to wsdl
> >
> > My java interface method is  "public TimeSlot editReservation(int
> > timeSlotID, String requestedBy, String purpose, int[] resourcesID);"
> >
> > I have 4 input params
> >
> > and my wsdl have 1 element with an type having 4 paramenters
> >
> > When run this code whe have an IndexOutOfBoundsException
> >
> > "Exception in thread "main" java.lang.IndexOutOfBoundsException : Index:
> > 1,
> > Size: 1
> >    at java.util.ArrayList.RangeCheck(Unknown Source)
> >    at java.util.ArrayList.get(Unknown Source)
> >    at
> >
> org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
> > (Input2InputTransformer.java :179)
> >    at
> >
> org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
> > (Input2InputTransformer.java:1)
> >    at org.apache.tuscany.databinding.impl.MediatorImpl.mediate(
> > MediatorImpl.java:83)
> >    at
> > org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.transform
> (
> > DataBindingInteceptor.java:189)
> >    at
> > org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.invoke
> > (DataBindingInteceptor.java:86)
> >    at org.apache.tuscany.spi.wire.AbstractInvocationHandler.invoke(
> > AbstractInvocationHandler.java:91)
> >    at
> > org.apache.tuscany.implementation.java.proxy.JDKInvocationHandler.invoke
> (
> > JDKInvocationHandler.java:150)"
> >
> > Not to be that I must work with OMElement in my java interface.
> >
> >
> > --
> > Paulo Henrique Trecenti
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
>


-- 
Paulo Henrique Trecenti

Re: Throwable Input2InputTransformer.java (179) IndexOutOfBoundsException

Posted by Raymond Feng <en...@gmail.com>.
Hi,

Thank you for reporting this. Actually, the problem is not in the 
Input2InputTransformer. It's related to how we map a java interface to a 
WSDL portType.

For a wrapper style (please see WS-JAX spec for the definition) WSDL 
operation with the following input wrapper element, we don't support it yet 
if the child element such as "resourcesID" with maxOccurs>1.

<xs:complexType name="editReservation">
<xs:sequence>
    <xs:element name="timeSlotID" type="xs:int"/>
    <xs:element name="requestedBy" type="xs:string" minOccurs="0"/>
    <xs:element name="purpose" type="xs:string" minOccurs="0"/>
    <xs:element name="resourcesID" type="xs:int" maxOccurs="unbounded" 
minOccurs="0"/>
</xs:sequence>
</xs:complexType>

In line 382 of 
org.apache.tuscany.interfacedef.wsdl.introspect.WSDLOperation.java, there is 
a "TODO" :-).

Thanks,
Raymond

----- Original Message ----- 
From: "Paulo Henrique Trecenti" <pt...@gmail.com>
To: <tu...@ws.apache.org>
Sent: Wednesday, May 02, 2007 7:42 AM
Subject: Throwable Input2InputTransformer.java (179) 
IndexOutOfBoundsException


> Hi,
>
> I found a small bug in Input2InputTransformer.java (179)
>
> "Object[] newArgs = new Object[source.length];
> for (int i = 0; i < source.length; i++) {
>                Object child = mediator.mediate(source[i],
> sourceType.getLogical().get(i), targetType.getLogical().get(i),
> context.getMetadata());
>                newArgs[i] = child;
>            }"
>
> When try parse a java to wsdl
>
> My java interface method is  "public TimeSlot editReservation(int
> timeSlotID, String requestedBy, String purpose, int[] resourcesID);"
>
> I have 4 input params
>
> and my wsdl have 1 element with an type having 4 paramenters
>
> When run this code whe have an IndexOutOfBoundsException
>
> "Exception in thread "main" java.lang.IndexOutOfBoundsException : Index: 
> 1,
> Size: 1
>    at java.util.ArrayList.RangeCheck(Unknown Source)
>    at java.util.ArrayList.get(Unknown Source)
>    at
> org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
> (Input2InputTransformer.java :179)
>    at
> org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
> (Input2InputTransformer.java:1)
>    at org.apache.tuscany.databinding.impl.MediatorImpl.mediate(
> MediatorImpl.java:83)
>    at
> org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.transform(
> DataBindingInteceptor.java:189)
>    at 
> org.apache.tuscany.core.databinding.wire.DataBindingInteceptor.invoke
> (DataBindingInteceptor.java:86)
>    at org.apache.tuscany.spi.wire.AbstractInvocationHandler.invoke(
> AbstractInvocationHandler.java:91)
>    at
> org.apache.tuscany.implementation.java.proxy.JDKInvocationHandler.invoke(
> JDKInvocationHandler.java:150)"
>
> Not to be that I must work with OMElement in my java interface.
>
>
> -- 
> Paulo Henrique Trecenti
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org