ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bill McCusker <wmccus...@parasoft.com>
Subject Re: Inline variable initialization in Ode 1.3.2
Date Thu, 09 Jul 2009 13:22:26 GMT
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}uninitializedV
> ariable,lineNo=30,faultExplanation=The variable StringVariable isn't
> properly initialized.
>
>   


Mime
View raw message