On Fri, Jan 7, 2011 at 6:45 PM, Jean-Sebastien Delfino <jsdelf...@apache.org> wrote: > On 01/07/2011 09:44 AM, Raymond Feng wrote: >> >> I understand your case now: >> >> 1) You have a componentType reference interface contract which is the >> doc-literal WSDL. >> 2) You configure the reference binding interface contract to be >> doc-literal-wrapper WSDL. > > Correct > >> What databinding do you configure for 1 and 2? > > (1) my own databinding extension, supporting my own form of business object > (2) Tuscany's Axiom databinding > >> What payload do you have for the request when the source component makes >> the outbound call on the reference? An Object[] of "xml" elements? > > Object[] containing { stockSymbol, time } represented as per (1) > >> >> The databinding framework will detect 1 is not wrapped while 2 is wrapped. >> It first tries to find if there is a wrapper for 1 to contain all the parts. >> If not, it will try to convert all the parts one by one and add them into >> the wrapper object for 2. > > OK, that's good. So when Simon commits his modified example, we should > expect it to work and the DataBinding framework to transform (1) to (2), or > debug why it doesn't do it :) > > Thanks > -- > Jean-Sebastien >
OK I checked some code in at revision: 1057230 [1] . As I've been updating the async support I extended the async part of the implementation extension sample to have an implementation that uses a doc/lit implementation reference but with a reference defined in the composite as doc/lit/wrapped. This now gives an index out of bounds exception somewhere in the databinding. Haven't tracked it down yet. Be interested to know if this is the scenario you had in mind though. [1] http://svn.apache.org/viewvc?view=revision&revision=1057230 Regards Simon -- Apache Tuscany committer: tuscany.apache.org Co-author of a book about Tuscany and SCA: tuscanyinaction.com