Hello, 

I try to write a very simple BPEL process with Apache ODE as a Service
Engine into Servicemix.
I have a problem with the assignment operation.

I receive always an error. Here the trace in Servicemix :
-----------------------------------------------------------------------------
ERROR - ASSIGN                         - Assignment Fault:
{http://schemas.xmlsoap.org/ws/2004/03/business-process/}selection
Failure,lineNo=58

The line number 58 is the copy operation below :
---------------------------------------------------------------------

<copy>
 <from xmlns:tns="http://etnic.bull.com";>$request.p/tns:poId</from>
 <to
xmlns:etnic="http://services.etnic.be";>$requestPo.parameters/etnic:detailPoAvecAdresse/ai_ns_po_id</to>
</copy>

Here my BPEL process :
---------------------------------

<?xml version="1.0"?>
<process name="esbFaseImpl"
         targetNamespace="http://etnic.bull.com";
         xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/";
        
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/";
         xmlns:tns="http://etnic.bull.com";
         xmlns:etnic="http://services.etnic.be";
         xmlns:xsd="http://www.w3.org/2001/XMLSchema";>

    <import location="wsdl/fase.wsdl"
            namespace="http://etnic.bull.com";
            importType="http://schemas.xmlsoap.org/wsdl/"; />
                        
        <import location="wsdl/poSimple.wsdl"
            namespace="http://services.etnic.be";
            importType="http://schemas.xmlsoap.org/wsdl/"; />

    <partnerLinks>
        <partnerLink name="fasePartnerLink"
                partnerLinkType="tns:FasePartnerLinkType"
                myRole="Provider" />
                
          <partnerLink name="poPartnerLink"
                partnerLinkType="etnic:PoPartnerLinkType"
                partnerRole="Provider"
                initializePartnerRole="yes"  />
    </partnerLinks>

    <variables>
        <variable name="request" messageType="tns:faseRequeteMessage"/>
        <variable name="response" messageType="tns:faseReponseMessage"/>
        <variable name="requestPo"
messageType="etnic:detailPoAvecAdresseRequest"/>
        <variable name="responsePo"
messageType="etnic:detailPoAvecAdresseResponse"/>
    </variables>

    <sequence>
        <receive
                name="start"
                partnerLink="fasePartnerLink"
                portType="tns:fasePT"
                operation="infosFase"
                variable="request"
                createInstance="yes"/>
         
        <assign name="assignPoRequest">
         
            <copy>
                          <from xmlns:etnic="http://services.etnic.be";>
                            <literal>
                              <etnic:detailPoAvecAdresse>
                                <ai_ns_po_id />
                              </etnic:detailPoAvecAdresse>
                            </literal>
                           </from>
                           <to>$requestPo.parameters</to>
                         </copy>
                         
                         <copy>
                           <from 
xmlns:tns="http://etnic.bull.com";>$request.p/tns:poId</from>
                           <to
xmlns:etnic="http://services.etnic.be";>$requestPo.parameters/etnic:detailPoAvecAdresse/ai_ns_po_id</to>
                         </copy>
                                 
        </assign>
        
          <invoke name="invokePo" 
                  partnerLink="poPartnerLink"
                  portType="etnic:po"
                  operation="detailPoAvecAdresse"
                  inputVariable="requestPo"
                  outputVariable="responsePo">
          </invoke>
        
          <assign name="assignPoResponse">
          
            <copy>
                      <from xmlns:tns="http://etnic.bull.com";>
                          <literal>
                              <tns:faseReponse>
                                   <tns:po>
                                       <tns:id/>
                                                   </tns:po>
                               </tns:faseReponse>
                          </literal>
                     </from>
                     <to>$response.p</to>
                   </copy>
                            
            <copy>
                <from
xmlns:etnic="http://services.etnic.be";>$responsePo.parameters/etnic:detailPoAvecAdresse/ao_rec_porg_adrs_wsi/ns_po_id</from>
                <to
xmlns:tns="http://etnic.bull.com";>$response.p/tns:faseReponse/tns:po/tns:id</to>
            </copy>

        </assign>
        
        <reply name="end"
                partnerLink="fasePartnerLink"
                portType="tns:fasePT"
                operation="infosFase"
                variable="response"/>
    </sequence>
</process>

The definition of the messages involved in the copy operation wich fails :
----------------------------------------------------------------------------------------------------

for the request variable :
----------------------------------

  <message name="faseRequeteMessage">
   <part name="p" element="tns:faseRequete"/>
 </message>

<schema xmlns="http://www.w3.org/2001/XMLSchema";
       targetNamespace="http://etnic.bull.com";
       xmlns:tns="http://etnic.bull.com";
       xmlns:xsd="http://www.w3.org/2001/XMLSchema";
       attributeFormDefault="qualified"
       elementFormDefault="qualified">

 <element name="faseRequete" type="tns:faseRequeteCT"/>

 <complexType name="faseRequeteCT">
       <sequence>
         <element name="poId" type="tns:idST" minOccurs="0" maxOccurs="1"/>
         <element name="etabId" type="tns:idST" minOccurs="0"
maxOccurs="1"/>
         <element name="precision" type="tns:precisionST"
minOccurs="0" maxOccurs="1"/>
         <element name="corrId" type="xsd:string" minOccurs="0"
maxOccurs="1"/>
         <element name="timestamp" type="xsd:string" minOccurs="0"
maxOccurs="1"/>
       </sequence>
     </complexType>

 <simpleType name="idST">
       <restriction base="xsd:string">
         <pattern value="[0-9]+"/>
         <minLength value="1"/>
         <maxLength value="5"/>
       </restriction>
     </simpleType>
</schema>

and for the requestPo variable :
--------------------------------------------

 <wsdl:message name="detailPoAvecAdresseRequest">
   <wsdl:part element="tns:detailPoAvecAdresse" name="parameters"/>
 </wsdl:message>

 <schema targetNamespace="http://services.etnic.be";
xmlns="http://www.w3.org/2001/XMLSchema";
xmlns:tns="http://services.etnic.be";
xmlns:tns1="http://wsi.services.etnic.be";
xmlns:tns2="http://bzi.error.etnic.be";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
                       <!--<import
namespace="http://bzi.error.etnic.be"/>-->
                       <!--<import
namespace="http://wsi.services.etnic.be"/>-->
                       <element name="detailPoAvecAdresse">
                         <complexType>
                           <sequence>
                               <element name="ai_ns_po_id" nillable="false"
type="xsd:int"/>
                           </sequence>
                         </complexType>
                       </element>
               </schema>

Do you have an idea of what is wrong ???

Thanks in advance,

Anne.
-- 
View this message in context: 
http://www.nabble.com/BPEL---Assignment-selectionFailure-tf3159559.html#a8763086
Sent from the Apache Ode User mailing list archive at Nabble.com.

Reply via email to