How to set List of String as variable value in BPEL
928435May 2 2012 — edited Feb 26 2020I am using java embedding to invoke a method which returns a list of strings. I need to set these values in a variable in BPEL to be used later. I am getting following error while setting the value.
<May 2, 2012 5:18:20 PM IST> <Error> <oracle.soa.bpel.engine.dispatch> <BEA-000000> <failed to handle message
com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}mismatchedAssignmentFailure}
messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
parts: {{
summary=<summary>Mismatch Assign.
cannot set a nonelement value to an element-based variable.
An attempt to assign a nonelement value to an element-based variable failed.
Verify the BPEL source for invalid assign activities.
</summary>}
Following is the java code
List<String> providers = Registory.getProviders("1");
setVariableData("providerList", providers);
I have defined a xml element in the wsdl defintion:
<xsd:element name="providerList">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="providerId" type="xs:string" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
providerList variable is of type "providerList".
What else do I need to do to convert the List to the xml elements ?