Hello,
I have a problem with calling my BPEL-Process. I get a /bpel:selection
failure/ when trying to do the call.
Since the same Process runs without problems under ActiveBPEL when using
the extension of the engine I know that I have to initialize the
variables first. But I don't know how to do this. Following the relevant
parts of my .wsdl and .bpel files.
---WSDL---
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="http://sequence.Transformation">
<element name="doTransformation">
<complexType>
<sequence>
<element name="firstTrans" type="xsd:double"/>
<element name="secondTrans" type="xsd:double"/>
<element name="thirdTrans" type="xsd:double"/>
</sequence>
</complexType>
</element>
<element name="doTransformationResponse">
<complexType>
<sequence>
<element name="doTransformationResponse" type="xsd:double"/>
</sequence>
</complexType>
</element>
</schema>
</wsdl:types>
.....
.....
<wsdl:message name="doTransformationRequest">
<wsdl:part element="impl:doTransformation" name="parameters"/>
</wsdl:message>
<wsdl:message name="doTransformationResponse">
<wsdl:part element="impl:doTransformationResponse" name="parameters"/>
</wsdl:message>
.....
---BPEL---
<bpel:process ... xmlns:ns0="http://ProcessWSDL"
xmlns:ns1="http://sequence.Transformation" .....>
......
<bpel:variable messageType="ns0:ProcessWSDLRequest" name="bpelRequest"/>
<bpel:variable messageType="ns0:ProcessWSDLResponse"
name="bpelResponse"/>
<bpel:variable messageType="ns1:doTransformationRequest"
name="doTransformationRequest"/>
......
<bpel:sequence>
<bpel:receive createInstance="yes" name="ProcessWSDLReceive"
operation="ProcessWSDLOperation" partnerLink="ProcessWSDLPLN"
portType="ns0:ProcessWSDLPT" variable="bpelRequest"/>
<!-- The following assign fails -->
<bpel:assign>
<bpel:copy>
<bpel:from>$bpelRequest.gridProcessWSDLPartRequest/ns0:gridProcessWSDLPartRequest0</bpel:from>
<bpel:to>$doTransformationRequest.parameters/ns1:firstTrans</bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from>$bpelRequest.gridProcessWSDLPartRequest/ns0:gridProcessWSDLPartRequest1</bpel:from>
<bpel:to>$doTransformationRequest.parameters/ns1:secondTrans</bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from>$bpelRequest.gridProcessWSDLPartRequest/ns0:gridProcessWSDLPartRequest2</bpel:from>
<bpel:to>$doTransformationRequest.parameters/ns1:thirdTrans</bpel:to>
</bpel:copy>
</bpel:assign>
I have tried the following constellations, but any of them works.
----------First-------
<bpel:copy>
<bpel:from>
<ns1:doTransformationRequest>
<firstTrans xmlns="">0.0 </firstTrans>
</ns1:doTransformationRequest>
</bpel:from>
<bpel:to>$doTransformationRequest.parameters/ns1:doTransformationRequest
</bpel:to>
</bpel:copy>
--------Second---------
<bpel:copy>
<bpel:from>
<bpel:literal>
<ns1:doTransformationRequest>
<ns1:firstTrans/>
</ns1:doTransformationRequest>
</bpel:literal>
</bpel:from>
<bpel:to>$doTransformationRequest.parameters</bpel:to>
</bpel:copy>
----------Third -------------
<bpel:copy>
<bpel:from>
<ns1:doTransformationRequest>
<firstTrans xmlns="http://sequence.Transformation">0.0 </firstTrans>
</ns1:doTransformationRequest>
</bpel:from>
<bpel:to>$doTransformationRequest.parameters/ns1:doTransformationRequest
</bpel:to>
</bpel:copy>
--------Fourth---------
<bpel:copy>
<bpel:from>
<ns1:doTransformationRequest>
<firstTrans>0.0</firstTrans>
</ns1:doTransformationRequest>
</bpel:from>
<bpel:to>$doTransformationRequest.parameters/ns1:doTransformationRequest
</bpel:to>
</bpel:copy>
Can someone please help me. I don't know how the right syntax of
initialzing a variable is.
regadrs
thomas