You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Pishava <pi...@yahoo.com> on 2009/04/28 15:54:04 UTC

Assignment Fault in BPEL

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>