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
