Hello,
I have been dealing with this damn BPEL Assignmebt fault for couple of days,
with no success. Apparently source of problem is Namespace, but I don't know
how to resolve it.
I do appreciate your comments.
regards,
/Shahab
BPEL error message:
ERROR - GeronimoLog.error(104) | Assignment Fault:
{http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=38,faultExplanation=No
results for expression: {OXPath10Expression
$output.payload/tns:cleanPercentage}
--------------------------------------------------------------
BPEL process is :
<?xml version="1.0" encoding="UTF-8"?>
<bpws:process
xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:ns="http://sample.bpel.org/bpel/sampleArtifacts"
xmlns:ns0="http://ecs.kth.se/CleanessService/CleanRoom25_WSDL"
xmlns:tns="http://sample.bpel.org/bpel/sample"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
exitOnStandardFault="yes" name="CleanRoomProcess" suppressJoinFailure="yes"
targetNamespace="http://sample.bpel.org/bpel/sample">
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="CleanRoomProcess.wsdl"
namespace="http://sample.bpel.org/bpel/sample"/>
<bpws:import importType="http://www.w3.org/2001/XMLSchema"
location="CleanRoom25WSDLService_schema1.xsd"
namespace="http://ecs.kth.se/CleanessService/CleanRoom25_WSDL"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="CleanRoom25WSDLService.wsdl"
namespace="http://ecs.kth.se/CleanessService/CleanRoom25_WSDL"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="CleanRoomProcessArtifacts.wsdl"
namespace="http://sample.bpel.org/bpel/sampleArtifacts"/>
<bpws:partnerLinks>
<bpws:partnerLink myRole="CleanRoomProcessProvider" name="client"
partnerLinkType="tns:CleanRoomProcess"/>
<bpws:partnerLink name="PL_CleanRoom25"
partnerLinkType="ns:PLType_CleanRoom25" partnerRole="Room25Cleaner"/>
</bpws:partnerLinks>
<bpws:variables>
<bpws:variable messageType="tns:CleanRoomProcessRequestMessage"
name="CleanRoomProcessRequestMessage"/>
<bpws:variable messageType="ns0:CleanRoom25_WSDLOperation"
name="CleanRoom25_Request"/>
<bpws:variable messageType="ns0:CleanRoom25_WSDLOperationResponse"
name="CleanRoom25_Response"/>
<bpws:variable messageType="tns:CleanRoomProcessResponseMessage"
name="CleanRoomProcessResponseMessage"/>
</bpws:variables>
<bpws:sequence name="main">
<bpws:receive createInstance="yes" name="receiveInput"
operation="process" partnerLink="client"
variable="CleanRoomProcessRequestMessage"/>
<bpws:assign name="Assign1" validate="yes">
<bpws:copy>
<bpws:from>
<bpws:literal>10</bpws:literal>
</bpws:from>
<bpws:to part="RoomID_25" variable="CleanRoom25_Request"/>
</bpws:copy>
<bpws:copy>
<bpws:from part="payload"
variable="CleanRoomProcessRequestMessage"/>
<bpws:to part="RoomID_25" variable="CleanRoom25_Request"/>
</bpws:copy>
</bpws:assign>
<bpws:invoke inputVariable="CleanRoom25_Request" name="Invoke_CLR25"
operation="CleanRoom25_WSDLOperation" outputVariable="CleanRoom25_Response"
partnerLink="PL_CleanRoom25"/>
<bpws:assign name="Assign2" validate="yes">
<bpws:copy>
<bpws:from>
<bpws:literal>
<cleanessInfo
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns0:cleanessInfo">
<cleanPercentageRoom25>1.0</cleanPercentageRoom25>
<cleanRoom25>true</cleanRoom25>
</cleanessInfo>
</bpws:literal>
</bpws:from>
<bpws:to part="return" variable="CleanRoom25_Response"/>
</bpws:copy>
<bpws:copy>
<bpws:from>$CleanRoom25_Response.return/cleanRoom25</bpws:from>
<bpws:to
>$CleanRoomProcessResponseMessage.payload/cleanRoom25</bpws:to>
</bpws:copy>
</bpws:assign>
<bpws:reply name="replyOutput" operation="process" partnerLink="client"
variable="CleanRoomProcessResponseMessage"/>
</bpws:sequence>
</bpws:process>
----------------------------------------------------------------
Message definition part in the WSDL is:
<definitions name="CleanRoomProcess"
targetNamespace="http://sample.bpel.org/bpel/sample"
xmlns:tns="http://sample.bpel.org/bpel/sample"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" >
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TYPE DEFINITION - List of types participating in this BPEL process
The BPEL Designer will generate default request and response types
but you can define or import any XML Schema type and use them as part
of the message types.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="http://sample.bpel.org/bpel/sample">
<xs:complexType name="cleanessInformation">
<xs:sequence>
<xs:element name="cleanPercentage" type="xs:float"/>
<xs:element name="clean" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xsd:schema>
</types>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MESSAGE TYPE DEFINITION - Definition of the message types used as
part of the port type defintions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<message name="CleanRoomProcessRequestMessage">
<part name="payload" type="xsd:int" />
</message>
<message name="CleanRoomProcessResponseMessage">
<part name="payload" type="cleanessInformation" />
</message>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PORT TYPE DEFINITION - A port type groups a set of operations into
a logical service unit.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<!-- portType implemented by the CleanRoomProcess BPEL process -->
<portType name="CleanRoomProcess">
<operation name="process">
<input message="tns:CleanRoomProcessRequestMessage" />
<output message="tns:CleanRoomProcessResponseMessage"/>
</operation>