On Wed, Jul 1, 2009 at 6:16 PM, Mike
Edwards<[email protected]> wrote:
> ant elder wrote:
>>
>> If i revert implementation-bpel-runtime to back before the Ode upgrade
>> and run the helloworld sample with printout of the message in the
>> BPELINvoker just before invoking Ode then i see the XML as:
>>
>> <hello
>> xmlns="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl";>
>>   <message xmlns:ns2="http://helloworld/";
>>            xmlns:xs="http://www.w3.org/2001/XMLSchema";
>>            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>        xsi:type="xs:string">Hello</message>
>> </hello>
>>
>> so with the bpel script having:
>>
>>     <variable name="myVar" messageType="test:HelloMessage"/>
>>     <variable name="tmpVar" type="xsd:string"/>
>>
>> and
>>
>>          <copy>
>>              <from variable="myVar" part="TestPart"/>
>>              <to variable="tmpVar"/>
>>
>> and the wsdl having:
>>
>>            <element name="hello">
>>                <complexType>
>>                    <sequence>
>>                        <element name="message" type="xsd:string"/>
>>                    </sequence>
>>                </complexType>
>>            </element>
>>        </schema>
>>    </wsdl:types>
>>
>>    <wsdl:message name="HelloMessage">
>>        <wsdl:part element="tns:hello" name="TestPart"/>
>>    </wsdl:message>
>>
>> then isn't that all correct and "tmpVar" should be a string containing
>> "Hello"? I'm wondering if there's a tuscany databinding problem
>> causing what you're seeing.
>>
>>   ...ant
>>
>
>
> Ant,
>
> What does the output response message look like in the BPELInvoker, just
> after the invocation completes?
>
> In my opinion tmpVar will not be a string, but a string wrapped by the hello
> and message elements.
>
> To get the string out, you must do the unwrapping, eg with an XPath
> expression such as the one I used in my note...
>
>
> Yours,  Mike.
>
The response looks like:

<TestPart>
   <hello 
xmlns="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl";>Hello
World</hello>
</TestPart>

and the Tuscany databinding framework is able to convert both that
request and response XML to the Java interface used in the sample:

package helloworld;
public interface Hello {
    String hello(String name);
}

   ...ant

Reply via email to