Variables in BPEL programming function just as they do in other programming languages: they hold temporary values, form parts of expressions, or are passed as parameters to external partners. Normally, you need a variable for every message sent to or received from a partner service. The BPEL Designer supports the following types of variables:
WSDL Message type:
In BPEL we can use message type variable to store valid xml data. These variables correspond to web service message types that are defined in WSDL files imported by the process. In a BPEL file ( .bpel), these variables must specify a value for the message Type attribute. Message type variables are used to hold data in interactions between the process and its partner services.
XML Schema type:
These variables correspond to simple or complex XML Schema data types. The XML schema types themselves are defined in XML Schema files (.xsd) or in WSDL files that are imported into the process. In a BPEL file, variables of this type must specify a value for the type attribute.
XML Schema element:
These variables correspond to XML Schema elements. The XML schema elements themselves are defined in XML Schema files (.xsd) or in WSDL files that are imported into the process. In a BPEL file, variables of this type must specify a value for the element attribute.
Variables of this type are standard simple types defined in the XML Schema specification.