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 <[EMAIL PROTECTED]>:
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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>: > > > > 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" <[EMAIL PROTECTED]> > > To: <[email protected]> > > 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: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > -- > Paulo Henrique Trecenti > -- Luciano Resende http://people.apache.org/~lresende
-- Paulo Henrique Trecenti
