Hi Bill. I remember reading that at some point in the past. I thought that inline initialization was a new feature in Ode 1.3 but maybe it wasn't added after all.
The compliance page needs to be updated in either case. I guess the question now is whether inline initialization is supposed to work in 1.3.2. Thanks. -Jon -----Original Message----- From: Bill McCusker [mailto:[email protected]] Sent: Thursday, July 09, 2009 6:22 AM To: [email protected] Subject: Re: Inline variable initialization in Ode 1.3.2 Hi Jonathan, An interesting bit was pointed out to me on the specification compliance page (http://ode.apache.org/ws-bpel-20-specification-compliance.html). It may just be old information but under <assign> activity there is a line stating "Inline assignment as part of the variable declaration isn't currently supported." I recall that at some point in time it was not supported but it would be nice to get this clarified: should inline initialization work? Bill McCusker Jonathan Coogan wrote: > Hi Bill. Good suggestion. Even when I echo the inline initialized > variable back to the response it does not work. I created a simpler > example that uses an initialized variable of type string. When I > assign to to the response I get an AssignmentFault saying that the > variable is uninitialized. > > ---------- Begin TestInlineInitialization2.wsdl ---------- <?xml > version="1.0"?> <definitions name="TestInlineInitialization2" > targetNamespace="mynamespace" > xmlns:tns="mynamespace" > xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns="http://schemas.xmlsoap.org/wsdl/" > > > > <types> > <schema attributeFormDefault="unqualified" > elementFormDefault="qualified" > targetNamespace="mynamespace" > xmlns="http://www.w3.org/2001/XMLSchema"> > > <element name="Input" type="string" /> > <element name="Output" type="string" /> > </schema> > </types> > > <message name="InputMessage"> > <part name="payload" element="tns:Input"/> > </message> > <message name="OutputMessage"> > <part name="payload" element="tns:Output"/> > </message> > > <portType name="ServicePortType"> > <operation name="process"> > <input message="tns:InputMessage" /> > <output message="tns:OutputMessage"/> > </operation> > </portType> > > <plnk:partnerLinkType name="ServicePartnerLinkType"> > <plnk:role name="ServiceProvider" > portType="tns:ServicePortType"/> > </plnk:partnerLinkType> > > <binding name="ServiceBinding" type="tns:ServicePortType"> > <soap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http" /> > <operation name="process"> > <soap:operation soapAction="mynamespace/process" /> > <input> > <soap:body use="literal" /> > </input> > <output> > <soap:body use="literal" /> > </output> > </operation> > </binding> > > <service name="TestInlineInitialization2Service"> > <port name="TestInlineInitialization2Port" > binding="tns:ServiceBinding"> > <soap:address > location="http://[server]:[port]/processes/TestInlineInitialization2" /> > </port> > </service> > </definitions> > ---------- End TestInlineInitialization2.wsdl ---------- > > > ---------- Begin TestInlineInitialization2.bpel ---------- <?xml > version="1.0" encoding="UTF-8"?> <bpel:process > exitOnStandardFault="yes" > expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" > name="TestInlineInitialization2" > queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" > suppressJoinFailure="yes" targetNamespace="mynamespace" > > xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" > > xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable" > xmlns:ode="http://www.apache.org/ode/type/extension" > xmlns:tns="mynamespace" xmlns:xs="http://www.w3.org/2001/XMLSchema"> > <bpel:import importType="http://schemas.xmlsoap.org/wsdl/" > location="TestInlineInitialization2.wsdl" > namespace="mynamespace"/> > <bpel:partnerLinks> > <bpel:partnerLink myRole="ServiceProvider" name="client" > partnerLinkType="tns:ServicePartnerLinkType"/> > </bpel:partnerLinks> > <bpel:variables> > <bpel:variable messageType="tns:InputMessage" name="input"/> > <bpel:variable messageType="tns:OutputMessage" name="output"/> > <bpel:variable name="StringVariable" type="xs:string"> > <bpel:from> > <bpel:literal>Value</bpel:literal> > </bpel:from> > </bpel:variable> > </bpel:variables> > <bpel:sequence name="process"> > <bpel:receive createInstance="yes" name="ReceiveInput" > operation="process" partnerLink="client" > portType="tns:ServicePortType" variable="input"/> > <bpel:assign name="Assign" validate="no"> > <bpel:copy> > <bpel:from variable="StringVariable"/> > <bpel:to part="payload" variable="output"/> > </bpel:copy> > </bpel:assign> > <bpel:reply name="ReplyWithOutput" operation="process" > partnerLink="client" portType="tns:ServicePortType" > variable="output"/> > </bpel:sequence> > </bpel:process> > ---------- Begin TestInlineInitialization2.bpel ---------- > > Here is the fault I get: > > INFO [ASSIGN]: Assignment Fault: > {http://docs.oasis-open.org/wsbpel/2.0/process/executable}uninitialize > dV ariable,lineNo=30,faultExplanation=The variable StringVariable > isn't properly initialized. > >
