Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.3.5
-
None
-
None
-
Windows XP SP3, Tomcat-7.0.10, jdk1.6.0
Description
I am trying to port some BPEL 1.1 workflows to ODE 1.3.5 but am having difficulty with assigning literal XML.
According to all the discussions and specs for BPEL 1.1 I have found, the correct <from> syntax for literals is <from>some literal value</from>.
In BPEL 2.0 this appears to have changed to <from><literal>...</literal></from> but <literal> is not defined for BPEL 1.1.
For example, given the namespaces:
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
and given a schema type:
<xsd:schema targetNamespace="urn:MyNamespace" xmlns="urn:MyNamespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="CredentialsType">
<xsd:sequence>
<xsd:element name="UsernameToken">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Username" type="xsd:string" />
<xsd:element name="Password" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
The following BPEL should be valid:
<variables>
<variable name="myliteralvar" type="myns:CredentialsType"/>
</variables>
<assign name="assign1">
<copy>
<from >
<myns:UsernameToken xmlns:myns="urn:MyNamespace">
<myns:username xmlns:myns="urn:MyNamespace" />
<myns:password xmlns:myns="urn:MyNamespace" />
</myns:UsernameToken>
</from>
<to variable="myliteralvar"/>
</copy>
</assign>
And result is the variable, myliteralvar taking the value
<myns:UsernameToken xmlns:myns="urn:MyNamespace">
<myns:username xmlns:myns="urn:MyNamespace" />
<myns:password xmlns:myns="urn:MyNamespace" />
</myns:UsernameToken>
However Ode 1.3.5 complains on deployment with
"Unrecognized element in BPEL dom:
{urn:MyNamespace}UsernameToken"
Followed by
"error: [UnknownFromSpec] From-spec format is unrecognized.
I have attached a full example where I modified the HelloWorld BPEL to use BPEL 1.1. It deploys successfully if the above assign is removed.
Is this a known bug in Ode or is there some configuration apart from the BPEL namespace that is required to have Ode recognize BPEL 1.1 syntax?
Note: I am setting the filename and bpel11wsdlFileName on the process element in deploy.xml
<process name="pns:HelloWorld4"
fileName="HelloWorld4.bpel"
bpel11wsdlFileName="HelloWorld4.wsdl"
>
<active>true</active>
<provide partnerLink="helloPartnerLink">
<service name="wns:HelloService" port="HelloPort"/>
</provide>
</process>
see user mailing list for original discussion and attachment