Return-Path: Delivered-To: apmail-tuscany-dev-archive@www.apache.org Received: (qmail 83348 invoked from network); 11 Jan 2011 19:18:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 11 Jan 2011 19:18:22 -0000 Received: (qmail 51974 invoked by uid 500); 11 Jan 2011 19:18:22 -0000 Delivered-To: apmail-tuscany-dev-archive@tuscany.apache.org Received: (qmail 51872 invoked by uid 500); 11 Jan 2011 19:18:21 -0000 Mailing-List: contact dev-help@tuscany.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tuscany.apache.org Delivered-To: mailing list dev@tuscany.apache.org Received: (qmail 51865 invoked by uid 99); 11 Jan 2011 19:18:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Jan 2011 19:18:21 +0000 X-ASF-Spam-Status: No, hits=0.7 required=10.0 tests=RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [76.96.62.32] (HELO qmta03.westchester.pa.mail.comcast.net) (76.96.62.32) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Jan 2011 19:18:13 +0000 Received: from omta08.westchester.pa.mail.comcast.net ([76.96.62.12]) by qmta03.westchester.pa.mail.comcast.net with comcast id uBP51f0020Fqzac53KHs2B; Tue, 11 Jan 2011 19:17:52 +0000 Received: from [9.52.158.168] ([32.97.110.64]) by omta08.westchester.pa.mail.comcast.net with comcast id uKHj1f00D1PQX0o3UKHmZH; Tue, 11 Jan 2011 19:17:50 +0000 Message-ID: <4D2CACD5.1030307@apache.org> Date: Tue, 11 Jan 2011 11:17:41 -0800 From: Jean-Sebastien Delfino User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 To: dev@tuscany.apache.org Subject: Re: Databinding mediation between part-based and doc-wrapped operations References: <4D256972.5020605@apache.org> <4D261F2B.4090003@apache.org> <4D275F35.8020207@apache.org> <4D2B5C22.1020507@apache.org> <4D2B69DE.4050604@apache.org> <4D2B830D.5070707@apache.org> <4D2BAF22.1000502@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org On 01/11/2011 08:57 AM, Simon Laws wrote: > Sorry that my example wasn't clear. I had set up the following composite... > > > xmlns:t="http://tuscany.apache.org/xmlns/sca/1.1" > targetNamespace="http://test" > name="testnativeasyncbare"> > > > class="sample.UpperSampleAsyncReferenceBareImpl"/> > > interface="http://sample/upper-async-wrapped#wsdl.interface(UpperWrapped)"/> > > > > > class="sample.UpperSampleAsyncServiceWrappedImpl"/> > > > > > With the interface the "upper" reference in > UpperSampleAsyncReferenceBareImpl defined as bare WSDL as follows > > > targetNamespace="http://sample/upper-async-bare" > xmlns="http://www.w3.org/2001/XMLSchema"> > > > > > > > > > > > > > > > > > While the interface on the reference in the composite is, as you can > see, defined by the wrapped WSDL as follows > > > targetNamespace="http://sample/upper-async-wrapped" > xmlns="http://www.w3.org/2001/XMLSchema"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > As per previous discussion on this thread I would expect databinding > to wrap the parameters from the implementation as per the wrapped > WSDL. However this falls foul of the following test in > Input2InputTransfomer > > if ((!sourceWrapped&& !sourceBare)&& targetWrapped) { > ... > } > > This code inside the if does the wrapping but we don't go in as the > bare WSDL of the source sets sourceBare = true. > > Having talking to Scott off line it seems that this test of > !sourceBare (added for TUSCANY-2398) was specifically added to cater > for the case where you've marked a Java interface operation as being > bare using annotations. In this case you're saying that the interface > may look like a wrapped interface but it isn't really so don't do any > wrapping regardless of whether you think you need to or not. > > Be useful to get some confirmation of the details. > > It would seem then that what we really need is a flag that tells us > about this special case rather than relying on testing whether a > wrapper is present. Hoping the experts will comment on the > practicalities. > > Regards > > Simon OK I understand your example better now. Looks like you did (a): 'rpc' implementation reference + 'wrapped' reference in composite That's slightly different from I did (b): 'rpc' implementation reference + 'wrapped binding in composite With (a) I would have expected a validation error like: 'your two definitions of that Upper interface don't match', vs in (b) a negotiation (and databinding transformation) between the 'rpc' reference and the 'wrapped' binding. Shouldn't (a) just report a validation error? Or does the spec allow an element to alter the style of interface of a component implementation like you did in (a)? If combination (a) is allowed, what interface do you expect to get from ComponentReference.getInterfaceContract().getInterface()? -- Jean-Sebastien