Correlation In BPEL Process

Hi All,
Can anybody can guide where we can a best example for correlations if we want to perform through. Can anbidy can share a link
on correlations for practice purpose because i have requriement which is based on the correlations and as I don't know how to implement
the correlations in BPEL process.
Regards,
Ch

Hi
Both the above URLS are not working fine. They are not showing the sample demos, when clicking on it.
It is redirecting to the other page.
Can anybody any other URLS other than this.
Regards,
CH

Similar Messages

  • What is correlation ? when and how to use it in BPEL process?

    Hi,
    What is correlation ? when and how to use it in BPEL process?
    Thanks

    Hi:
    Take a look at this entry http://blog.andrade.inf.br/2010/03/oracle-bpel-11g-correlation-sets.html
    thx
    best

  • Correlation in Asynchronous BPEL process

    I have thoroughly read docs & various blogs for this correlation concept and I am developed the bpel process without any compilation error. But when I execute, all the instances are waiting in receive activity with message *"Waiting for "processResponse" from "AsynchBPELProcess3.AsynchBPELProcess1.PartnerLink1". Asynchronous callback."*
    My scenario goes like this, I have three simple Asynchronous BPEL process with flow A --> B --> C i.e;
    step 1) client invokes process A with initial inputs
    step 2) process A does some assignment and invokes process B and then followed by a receive activity to receive response back directly from process C
    step 3) process B simply invokes process C after some assign activity
    step 4) process C do actual task for computation -- this is from where i am expecting output result at process A
    Done correlation at process A's recieveInput activity & in additionally added a receive activity to get response.
    Flows works as expected....everything if fine. But only at the time of returning the output result back to process A ..this waits for long time and after some time it becomes stale.
    Thanks.

    Yes you can achieve this. There are many ways to get this, it depends on your design. I didn't try the correlation sets.
    If i were you I would like to use the message header properties of the JMS queue. Set an MsgID for the request message and use the same MsgId to listen the response. You have to ask the partner to listen to your request message and store the KsgID and set the same MsgID to the header properties in response message.
    Let me know if you have any questions.
    Thanks
    Ramana.

  • Is it possible to have two receive activities in a single bpel process

    Hi,
    I have a requirement where I will get a input from a service and I have to pass this input dynamically to file adapter which then retrieved the files from a location based on the input provided and passes it to other service.
    I have used one receive activity for getting input parameters and other receive activity for getting files activity, but unfortunately it is not allowing me to do so. How can I design the process,
    1. I will get an input from a service.
    2. FA has to be invoked for getting files from location specified ( I know that dynamic values can be set inside properties tab), but confused on how to work with two receive activities.
    3. And the retrieved files has to be sent to a service.
    Thanks,
    Edited by: kameshb on Mar 29, 2013 9:59 AM

    Hi Kamesh,
    Read operation is used to poll files from a specified directory, in most cases it will be first activity(receive) of your BPEL and will create a new instance for you(else use correlation for mid process receive).
    As in your case you are dynamically passing input to FA to read a specific file in mid of your process, it should be sync read operation (as suggested by Deepak) wit an invoke activity.
    Thanks,
    Faiz
    Edited by: Faiz Haq on Mar 30, 2013 1:42 AM
    Edited by: Faiz Haq on Mar 30, 2013 1:46 AM

  • Calling a BPEL process from EDN

    Hi all,
    I'm in trouble to try to communicate two BPEL process via EDN (Event Delivery Network).
    The example is quite simple:
    TestProcess is a BPEL process which exposes a SOAP service, performs some tasks and wait for an event through a receive activity ( it acts as event subscriber).
    TestProcessEvent is a BPEL process which exposes a second SOAP service that publish the event to EDN ( it acts as event publisher).
    The test I performed is:
    start an instance of TestProcess and verify it is on running state, waiting for the event.
    start an instance of TestProcessEvent and verify if the event is delivered and then verify the instance of TestProcess resumes.
    Unfortunately TestProcessEvent finished but the event isn't propagated to TestProcess that remains running.
    I have also tried using correllation, but in this case the error is:
    ORABPEL-03812
    java.security.PrivilegedActionException: oracle.fabric.common.FabricInvocationException
    Cannot find property alias.
    Cannot find the property alias "{....}"".
    Please check your BPEL/WSDL source to make sure that property alias "{...}" has been defined.
    I suspect that the first issue (event is not propagated by BPEL process) is related to the problem with correlation.
    Any idea?
    Thanks in advance,
    Daniel.

    Hi,
    Are you running the webservice on the same app-server as BPEL PM?
    If so, what app-server do you use? According to the jar files you mention I assume Oracle AS 10g. Do you have your WS in the Home or the OC4J_SOA container?
    Make sure that the jars you mention are available to the container you run your WS in.
    Most of the libraries you mention are AS libraries. What I usually do is split my Webservices in two projects. One is a plain java project that does the job (in your case calling BPEL with the proper variables) en one J2EE project that implements the webservice part and calls the plain java project. The plain-java-project only gets the libraries it really needs. So no J2EE libs for example. In your case, probably only orabpel.jar and maybe orabpel-common and orabpel-boot.jar is needed. And if you're doing xml, then the xmlparserv2.jar. The jars you need for the plain-java-project are the only jars you need to deliver with the webservice. You can create shared libraries for it or add them to the lib folder of the AS. The libraries the J2EE project needs are appserver libraries that you don't need to deliver.
    I find it best practice to minimize the libraries you deliver to only those really needed, without the J2EE libs. Every other library you deliver out of "Easyness" is mistify your view on problems.
    You can try to add these libraries as a shared library. Or add them in one of the deployment steps. Or if these two don't work, try to ship them in your war-file.
    Hope this helps.
    If you need more help, may be you should dig up some errors. Look in to the servers logs, for example the logs in <Soa_home>/opmn/logs. Especially the one of the container your webservice is running in.
    Regards,
    Martien

  • Problem while invoking Bpel Process from Browser

    server WSDL
    <definitions
         name="getOpenInvoicesService"
         targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/getOpenInvoicesService/"
         xmlns="http://schemas.xmlsoap.org/wsdl/"
         xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/db/getOpenInvoicesService/"
         xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/getOpenInvoicesService"
         xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
         xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
        >
        <types>
          <schema xmlns="http://www.w3.org/2001/XMLSchema" >
            <import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/getOpenInvoicesService" schemaLocation="getOpenInvoicesService.xsd" />
          </schema>
        </types>
        <message name="getOpenInvoicesServiceInput_msg">
            <part name="getOpenInvoicesServiceInput_msg" element="db:getOpenInvoicesServiceInput"/>
        </message>
        <message name="getOpenInvoicesServiceOutputCollection_msg">
            <part name="getOpenInvoicesServiceOutputCollection" element="db:getOpenInvoicesServiceOutputCollection"/>
        </message>
        <portType name="getOpenInvoicesService_ptt">
            <operation name="getOpenInvoicesService">
                <input message="tns:getOpenInvoicesServiceInput_msg"/>
                <output message="tns:getOpenInvoicesServiceOutputCollection_msg"/>
            </operation>
        </portType>
        <binding name="getOpenInvoicesService_binding" type="tns:getOpenInvoicesService_ptt">
        <jca:binding  />
            <operation name="getOpenInvoicesService">
          <jca:operation
              SqlString=" SELECT distinct aps.trx_number TrxNumber,       ra.purchase_order PurchaseOrder,       rl.sales_order OrderNumber,       ra.interface_header_attribute2 OrderType,       hc.account_number CustomerNumber,        rt.name TrxType,       aps.acctd_amount_due_remaining AmmountDue,       aps.trx_date TrxDate,        aps.due_date TrxDueDate    FROM ra_customer_trx_all ra     ,   ra_customer_trx_lines_all rl     ,   ar_payment_schedules_all aps     ,   ra_cust_trx_types_all rt         ,   hz_cust_accounts hc              ,   hz_parties hp                    ,   hz_cust_acct_sites_all hcasa_bill,   hz_cust_site_uses_all hcsua_bill ,   hz_party_sites hps_bill          ,   ra_cust_trx_line_gl_dist_all rct   WHERE 1                        = 1 AND ra.customer_trx_id           = rl.customer_trx_id AND ra.customer_trx_id           = aps.customer_trx_id AND ra.org_id                    = aps.org_id AND rct.customer_trx_id          = aps.customer_trx_id AND rct.customer_trx_id          = ra.customer_trx_id AND rct.customer_trx_id          = rl.customer_trx_id AND rct.customer_trx_line_id     = rl.customer_trx_line_id AND ra.complete_flag             = &apos;Y&apos; AND rl.line_type                IN (&apos;FREIGHT&apos;, &apos;LINE&apos;) AND ra.cust_trx_type_id          = rt.cust_trx_type_id AND ra.bill_to_customer_id       = hc.cust_account_id AND hc.status                    = &apos;A&apos; AND hp.party_id                  = hc.party_id AND hcasa_bill.cust_account_id   = ra.bill_to_customer_id AND hcasa_bill.cust_acct_site_id = hcsua_bill.cust_acct_site_id AND hcsua_bill.site_use_code     = &apos;BILL_TO&apos; AND hcsua_bill.site_use_id       = ra.bill_to_site_use_id AND hps_bill.party_site_id       = hcasa_bill.party_site_id AND hcasa_bill.status            = &apos;A&apos; AND hcsua_bill.status            = &apos;A&apos; AND aps.amount_due_remaining    &lt;&gt; 0 AND aps.status                   = &apos;OP&apos; AND hc.account_number= ?"
              InteractionSpec="oracle.tip.adapter.db.DBPureSQLInteractionSpec" >
          </jca:operation>
                <input/>
                <output/>
            </operation>
        </binding>
        <service name="getOpenInvoicesService">
            <port name="getOpenInvoicesService_pt" binding="tns:getOpenInvoicesService_binding">
    <!--Your runtime connection is declared in
    J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml
    These mcf properties here are from your design time connection and
    save you from having to edit that file and restart the application server
    if eis/DB/sfh is missing.
    These mcf properties are safe to remove.-->
          <jca:address location="eis/DB/sfh" UIConnectionName="sfh"
              ManagedConnectionFactory="oracle.tip.adapter.db.DBManagedConnectionFactory"
              mcf.DriverClassName="oracle.jdbc.OracleDriver"
              mcf.PlatformClassName="oracle.toplink.internal.databaseaccess.Oracle9Platform"
              mcf.ConnectionString="jdbc:oracle:thin:@localhost:1526:xxxx"
              mcf.UserName="apps"
              mcf.Password="53CB0F044A0D3DD2C063679F18F89870" />
            </port>
        </service>
      <plt:partnerLinkType name="getOpenInvoicesService_plt" >
        <plt:role name="getOpenInvoicesService_role" >
          <plt:portType name="tns:getOpenInvoicesService_ptt" />
        </plt:role>
      </plt:partnerLinkType>
    </definitions>
    client.wsdl
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions
         name="getOpenInvoices"
         targetNamespace="http://xmlns.oracle.com/getOpenInvoices"
         xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
         xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
         xmlns="http://schemas.xmlsoap.org/wsdl/"
         xmlns:client="http://xmlns.oracle.com/getOpenInvoices"
         xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
        >
        <types>
            <schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/getOpenInvoices" xmlns="http://www.w3.org/2001/XMLSchema">
            <element name="getOpenInvoicesProcessResponse">
            <complexType>
            <sequence>
            <element name="result" type="string"/>
            </sequence>
            </complexType>
            </element>
            <element name="getOpenInvoicesProcessRequest">
            <complexType>
            <sequence>
            <element name="accountNumber" type="string"/>
            </sequence>
            </complexType>
            </element>
            </schema>
        </types>
        <message name="getOpenInvoicesRequestMessage">
            <part name="payload" element="client:getOpenInvoicesProcessRequest"/>
        </message>
        <message name="getOpenInvoicesResponseMessage">
            <part name="payload" element="client:getOpenInvoicesProcessResponse"/>
        </message>
        <portType name="getOpenInvoices">
            <operation name="OpenInvoices">
                <input message="client:getOpenInvoicesRequestMessage"/>
                <output message="client:getOpenInvoicesResponseMessage"/>
            </operation>
        </portType>
        <binding name="OpenInvoicebindings" type="client:getOpenInvoices">
        <http:binding verb="GET"/>
        <operation name="OpenInvoices">
        <http:operation location="/OpenInvoices"/>
        <input>
        <http:urlEncoded/>
        </input>
        <output>
        <mime:mimeXml part="Body"/>
        </output>
        </operation>
        </binding>
        <service name="OpenInvoiceService">
        <port binding="client:OpenInvoicebindings" name="OpenInvoicesport">
        <http:address location="http://sys0004:8889/httpbinding/default/getOpenInvoices"/>
        </port>
        </service>
        <plnk:partnerLinkType name="getOpenInvoices">
            <plnk:role name="getOpenInvoicesProvider">
                <plnk:portType name="client:getOpenInvoices"/>
            </plnk:role>
        </plnk:partnerLinkType>
    </definitions>
    bpel process
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
      Oracle JDeveloper BPEL Designer
      Created: Tue Jul 13 11:05:51 IST 2010
      Author: 
      Purpose: Synchronous BPEL Process
    -->
    <process name="getOpenInvoices"
             targetNamespace="http://xmlns.oracle.com/getOpenInvoices"
             xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
             xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
             xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/db/getOpenInvoicesService/"
             xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
             xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/getOpenInvoicesService"
             xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
             xmlns:client="http://xmlns.oracle.com/getOpenInvoices"
             xmlns:ora="http://schemas.oracle.com/xpath/extension"
             xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
      <!--
          PARTNERLINKS                                                     
          List of services participating in this BPEL process              
      -->
      <partnerLinks>
        <!--
          The 'client' role represents the requester of this service. It is
          used for callback. The location and correlation information associated
          with the client role are automatically set using WS-Addressing.
        -->
        <partnerLink name="client" partnerLinkType="client:getOpenInvoices"
                     myRole="getOpenInvoicesProvider"/>
        <partnerLink name="getOpenInvoicesService"
                     partnerRole="getOpenInvoicesService_role"
                     partnerLinkType="ns1:getOpenInvoicesService_plt"/>
      </partnerLinks>
      <!--
          VARIABLES                                                       
          List of messages and XML documents used within this BPEL process
      -->
      <variables>
        <!-- Reference to the message passed as input during initiation -->
        <variable name="inputVariable"
                  messageType="client:getOpenInvoicesRequestMessage"/>
        <!-- Reference to the message that will be returned to the requester-->
        <variable name="outputVariable"
                  messageType="client:getOpenInvoicesResponseMessage"/>
        <variable name="Invoke_1_getOpenInvoicesService_InputVariable"
                  messageType="ns1:getOpenInvoicesServiceInput_msg"/>
        <variable name="Invoke_1_getOpenInvoicesService_OutputVariable"
                  messageType="ns1:getOpenInvoicesServiceOutputCollection_msg"/>
      </variables>
      <!--
         ORCHESTRATION LOGIC                                              
         Set of activities coordinating the flow of messages across the   
         services integrated within this business process                 
      -->
      <sequence name="main">
        <!-- Receive input from requestor. (Note: This maps to operation defined in getOpenInvoices.wsdl) -->
        <receive name="receiveInput" partnerLink="client"
                 portType="client:getOpenInvoices" operation="OpenInvoices"
                 variable="inputVariable" createInstance="yes"/>
        <!-- Generate reply to synchronous request -->
        <assign name="Assign_1">
          <copy>
            <from variable="inputVariable" part="payload"/>
            <to variable="Invoke_1_getOpenInvoicesService_InputVariable"
                part="getOpenInvoicesServiceInput_msg"/>
          </copy>
        </assign>
        <invoke name="Invoke_1" partnerLink="getOpenInvoicesService"
                portType="ns1:getOpenInvoicesService_ptt"
                operation="getOpenInvoicesService"
                inputVariable="Invoke_1_getOpenInvoicesService_InputVariable"
                outputVariable="Invoke_1_getOpenInvoicesService_OutputVariable"/>
        <assign name="Assign_2">
          <copy>
            <from variable="Invoke_1_getOpenInvoicesService_OutputVariable"
                  part="getOpenInvoicesServiceOutputCollection"/>
            <to variable="outputVariable" part="payload"/>
          </copy>
        </assign>
        <reply name="replyOutput" partnerLink="client"
               portType="client:getOpenInvoices" operation="OpenInvoices"
               variable="outputVariable"/>
      </sequence>
    </process>the above is the server and client wsdls and Bpel process. i have created the wsdl so as to call from HTTP calling, means process is been called from Browser .... but i can't see the result ...
    http://sys0004:8889/httpbinding/default/getOpenInvoices/OpenInvoices?accountNumber=1608
    above is the link called from browser
    output in the browser ::: <getOpenInvoicesProcessResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/getOpenInvoices" />
    actually it has to fetch data from DB and show in xml format can anyone assist me where i am going wrong

    Hi Rajesh,
    Please refer \bpel\samples\tutorials\102.InvokingProcesses\jsp.
    BPEL Tutorial 7: Invoking BPEL Processes through SOAP and Java : Reference: 2004/06/14/orabpel/d5/1.0
    Hope this helps!
    Regards
    Anirudh Pucha

  • Getting Error While deploying the BPEL process

    Hi All,
    I am getting the following error while deploying the BPELProcess. The BPEL process is simple one which is having a Recieve from client and another Recieve from FTPAdapterfor Recieve Operation.
    Help me in resolving this. Thankyou.
    Process "BPELProcess3" (revision "v2009_02_02__34994") successfully compiled.
    <2009-02-02 09:51:06,356> <INFO> <default.collaxa.cube.engine.deployment> Process "BPELProcess3" (revision "v2009_02_02__34994") successfully loaded.
    <2009-02-02 09:51:18,088> <ERROR> <default.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "cube delivery": Correlation definition not registered.
    The correlation set definition for operation "Get", process "BPELProcess3", has not been registered with the process domain.
    Please try to redeploy your process to the process domain.
    ORABPEL-03802
    Correlation definition not registered.
    The correlation set definition for operation "Get", process "BPELProcess3", has not been registered with the process domain.
    Please try to redeploy your process to the process domain.
    at com.collaxa.cube.engine.delivery.CorrelationRegistry.resolve(CorrelationRegistry.java:91)
    at com.collaxa.cube.engine.delivery.DeliveryHelper.createCorrelationSet(DeliveryHelper.java:94)
    at com.collaxa.cube.engine.delivery.SOAPProtocolHandler.calculateCorrelations(SOAPProtocolHandler.java:751)
    at com.collaxa.cube.engine.delivery.SOAPProtocolHandler.receiveCallback(SOAPProtocolHandler.java:167)
    at com.collaxa.cube.engine.delivery.DeliveryService.receiveCallback(DeliveryService.java:446)
    at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.receiveCallback(CubeDeliveryBean.java:99)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    at com.evermind.server.ThreadState.runAs(ThreadState.java:620)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    at CubeDeliveryBean_LocalProxy_4bin6i8.receiveCallback(Unknown Source)
    at com.collaxa.cube.engine.delivery.DeliveryHandler.continuePostAnyType(DeliveryHandler.java:416)
    at com.collaxa.cube.engine.delivery.DeliveryHandler.continuePost(DeliveryHandler.java:370)
    at com.collaxa.cube.engine.delivery.DeliveryHandler.post(DeliveryHandler.java:88)
    at com.collaxa.cube.ejb.impl.DeliveryBean.post(DeliveryBean.java:201)
    at com.collaxa.cube.ejb.impl.DeliveryBean.post(DeliveryBean.java:156)
    at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    at com.evermind.server.ThreadState.runAs(ThreadState.java:620)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    at DeliveryBean_RemoteProxy_4bin6i8.post(Unknown Source)
    at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:195)
    at oracle.tip.adapter.fw.AdapterFrameworkListenerBase$DeliveryServiceMonitor.send(AdapterFrameworkListenerBase.java:2543)
    at oracle.tip.adapter.fw.AdapterFrameworkListenerBase.executeDeliveryServiceSend(AdapterFrameworkListenerBase.java:569)
    at oracle.tip.adapter.fw.AdapterFrameworkListenerBase.deliveryServiceSend(AdapterFrameworkListenerBase.java:625)
    at oracle.tip.adapter.fw.jca.AdapterFrameworkListenerImpl.performSingleActivation(AdapterFrameworkListenerImpl.java:952)
    at oracle.tip.adapter.fw.jca.AdapterFrameworkListenerImpl.onMessage(AdapterFrameworkListenerImpl.java:799)
    at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:281)
    at oracle.tip.adapter.file.inbound.ProcessWork.publishMessage(ProcessWork.java:826)
    at oracle.tip.adapter.file.inbound.ProcessWork.processMessages(ProcessWork.java:228)
    at oracle.tip.adapter.file.inbound.ProcessWork.run(ProcessWork.java:179)
    at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
    at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:272)
    at java.lang.Thread.run(Thread.java:595)

    Yes you are right. I do have two recieves and I think I need to set the Correlation set is it so ?
    here is the code from my bpel file
    <!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess3.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:BPELProcess3" operation="initiate"
    variable="inputVariable" createInstance="yes">
    </receive>
    <!--
    Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
    -->
    <receive name="Poll_For_Zip_File" partnerLink="FileBinaryRead"
    portType="ns1:Get_ptt" operation="Get"
    variable="Poll_For_Zip_File_Get_InputVariable"
    createInstance="no" bpelx:headerVariable="MyInBoundHeader">
    </receive>
    Please let me know how can I add the correlation If I had to add in my bepl process.

  • Deploying a BPEL process for testing in JDeveloper

    I'm having issues with consistently being able to make changes to my BPEL flow and being able to deploy it. I strongly suspect there has to be a better way than what I am doing and I'm hoping the good folks of this forum can give me some pointers.
    Here's what I'm doing now that works most of the time:
    1. Test my web service in the development environment (right-mouse Test Web Service). I believe this starts up the OC4J server and allows my references in my BPEL specification to be validated.
    2. Make my changes, rebuild, and verify no warnings or errors.
    3. View Application Servers, select my BPEL service, stop and undeploy it.
    4. Deploy my BPEL project to SAR file.
    5. Deploy my BPEL project to BundledOC4JServer.
    6. Go back to Applications Servers, refresh it (which has its own challenges) and stop and undeploy my BPEL service again.
    6. Stop the servers launched when I asked to test my web service.
    7. Test my web service again - which relaunches my OC4J server.
    8. Go back to Application Servers and refresh to see my hopefully updated BPEL application.
    9. Launch the SOA Console in Internet Explorer. This should show my BPEL application. If I don't do step 8, it typically doesn't ...
    10. Do some action that causes my BPEL application to initiate.
    11. Refresh the SOA Console to see the process that resulted. Drill into it to see the results. Usually, but not always, this reflects my changes. Sometimes it only shows an entry for the process that I can't drill into, and this seems to be correlated with not having the SOA Console running when I initiated my BPEL process.
    So, this is all quite cumbersome and not completely reliable. I'm looking for guidance on how this all should be done!
    Thank you all in advance.

    Hi,
    Did you follow the instructions provided on the wiki?
    http://wiki.open-esb.java.net/Wiki.jsp?page=HttpBcGetInteraction
    Which version of OpenESB are you using?
    It will be more helpful to post your question on the users@openesb mailing list where the relevent developer can answer your question.
    https://open-esb.dev.java.net/MailingLists.html
    rgds
    Jason

  • Unable to get Fault in reply from Synchronous BPEL Process

    Hi All,
    I am using a synchronous BPEL process which always throws a fault. The structure of this fault message is added to <bpel_process_name>.xsd.
    For WSDL faults I have added the following in .wsdl file:
    </wsdl:message>
    <wsdl:message name="BusinessFault">
    <wsdl:part name="payload" element="client:faultarea"/>
    </wsdl:message>
    <wsdl:portType name="FaultBPELProcess">
    <wsdl:operation name="process">
    <wsdl:input message="client:FaultBPELProcessRequestMessage"/>
    <wsdl:output message="client:FaultBPELProcessResponseMessage"/>
    <wsdl:fault message="client:BusinessFault" name="BusinessFault" />
    </wsdl:operation>
    </wsdl:portType>
    Now when I invoke this BPEL process, the fault is thrown and caught by the catch block at main scope. this catch assigns some values to the fault message and returns it back to the calling party.
    Fault QName is defined in the reply activity of catch block.
    On testing it, the reply never comes back and I can see the following error message in the logs:
    [2011-08-09T09:47:01.001+05:30] [soa_server1] [NOTIFICATION] [] [oracle.wsm.agent.WSMAgent] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [WEBSERVICE_PORT.name: FaultBPELProcess_pt] [APP: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: faultbpelprocess_client_ep] [J2EE_APP.name: soa-infra] Message Type is normalized, exiting agent.processFault()
    [2011-08-09T09:47:01.001+05:30] [soa_server1] [NOTIFICATION] [] [oracle.wsm.agent.WSMAgent] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [WEBSERVICE_PORT.name: FaultBPELProcess_pt] [APP: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: faultbpelprocess_client_ep] [J2EE_APP.name: soa-infra] Message Type is normalized, exiting agent.processFault()
    [2011-08-09T09:47:01.060+05:30] [soa_server1] [ERROR] [OWS-04086] [oracle.webservices.service] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [APP: soa-infra] javax.xml.rpc.soap.SOAPFaultException[[
    at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.generateSoapFaultException(WebServiceEntryBindingComponent.java:1094)
    at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.processIncomingMessage(WebServiceEntryBindingComponent.java:887)
    at oracle.integration.platform.blocks.soap.FabricProvider.processMessage(FabricProvider.java:113)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1187)
    at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:1081)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:581)
    at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:232)
    at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:192)
    at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:459)
    at oracle.integration.platform.blocks.soap.FabricProviderServlet.doPost(FabricProviderServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    [2011-08-09T09:47:01.061+05:30] [soa_server1] [ERROR] [OWS-04115] [oracle.webservices.service] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [APP: soa-infra] An error occurred for port: FabricProvider: javax.xml.rpc.soap.SOAPFaultException.
    If I try to invoke the endpoint uri, it gets invoked and returns the response.
    Any pointers will be appreciated!!

    I tried the same scenario which you told and it's working for me...I'll paste the contents for your reference...
    BPELProcess.bpel
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
    -->
    <process name="BPELProcess1"
    targetNamespace="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:client="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="bpelprocess1_client" partnerLinkType="client:BPELProcess1" myRole="BPELProcess1Provider"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <variable name="inputVariable" messageType="client:BPELProcess1RequestMessage"/>
    <!-- Reference to the message that will be returned to the requester-->
    <variable name="outputVariable" messageType="client:BPELProcess1ResponseMessage"/>
    <variable name="FaultVar_2" messageType="client:BusinessFault"/>
    <variable name="FaultVar" messageType="client:BusinessFault"/>
    </variables>
    <faultHandlers>
    <catch faultName="client:BusinessFault" faultVariable="FaultVar">
    <reply name="Reply_1" variable="FaultVar"
    partnerLink="bpelprocess1_client" portType="client:BPELProcess1"
    operation="process" faultName="client:BusinessFault"/>
    </catch>
    </faultHandlers>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess1.wsdl) -->
    <receive name="receiveInput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="inputVariable" createInstance="yes"/>
    <!-- Generate reply to synchronous request -->
    <assign name="Assign_1">
    <copy>
    <from expression="'A business fault occured'"/>
    <to variable="FaultVar_2" part="payload"
    query="/client:processResponse/client:result"/>
    </copy>
    </assign>
    <throw name="Throw_1" faultName="client:BusinessFault"
    faultVariable="FaultVar_2"/>
    <reply name="replyOutput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="outputVariable"/>
    </sequence>
    </process>
    BPELProcess1.wsdl
    <?xml version= '1.0' encoding= 'UTF-8' ?>
    <wsdl:definitions
    name="BPELProcess1"
    targetNamespace="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
    xmlns:ns1="http://schemas.oracle.com/bpel/extension"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:client="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    >
    <plnk:partnerLinkType name="BPELProcess1">
    <plnk:role name="BPELProcess1Provider">
    <plnk:portType name="client:BPELProcess1"/>
    </plnk:role>
    </plnk:partnerLinkType>
    <wsdl:import namespace="http://schemas.oracle.com/bpel/extension" location="RuntimeFault.wsdl"/>
    <wsdl:types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1" schemaLocation="xsd/BPELProcess1.xsd"/>
    </schema>
    </wsdl:types>
    <wsdl:message name="BPELProcess1RequestMessage">
    <wsdl:part name="payload" element="client:process"/>
    </wsdl:message>
    <wsdl:message name="BPELProcess1ResponseMessage">
    <wsdl:part name="payload" element="client:processResponse"/>
    </wsdl:message>
    <wsdl:message name="BusinessFault">
    <wsdl:part name="payload" element="client:processResponse"/>
    </wsdl:message>
    <wsdl:portType name="BPELProcess1">
    <wsdl:operation name="process">
    <wsdl:input message="client:BPELProcess1RequestMessage"/>
    <wsdl:output message="client:BPELProcess1ResponseMessage"/>
    <wsdl:fault message="client:BusinessFault" name="BusinessFault" />
    </wsdl:operation>
    </wsdl:portType>
    </wsdl:definitions>
    Hope that helps you...
    Thanks,
    N

  • BPEL process

    Error occurs when i tried to invoke creditservice through SOAOrderBooking BPEL process..
    Error(453):
    [Error ORABPEL-10007]: unresolved messageType
    [Description]: in line 453 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}EmailNotificationRequest" of variable "varNotificationReq" is not defined in any of the WSDL files.
    [Potential fix]: Make sure the WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}EmailNotificationRequest" is defined in one of the WSDLs referenced by the deployment descriptor.
    Error(455):
    [Error ORABPEL-10007]: unresolved messageType
    [Description]: in line 455 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}ArrayOfResponse" of variable "varNotificationResponse" is not defined in any of the WSDL files.
    [Potential fix]: Make sure the WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}ArrayOfResponse" is defined in one of the WSDLs referenced by the deployment descriptor.
    And my SOAOrderBooking BPEL (SOAOrderBooking.bpel) code is:
    <!--
    // Oracle JDeveloper BPEL Designer
    // Created: Fri Jan 06 13:47:07 PST 2006
    // Author: Roman
    // Purpose: Asynchronous BPEL Process
    -->
    <process name="SOAOrderBooking"
    targetNamespace="http://www.globalcompany.com/ns/OrderBooking"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    xmlns:ns4="http://www.globalcompany.com/ns/order"
    xmlns:ns24="http://xmlns.oracle.com/pcbpel/adapter/db/top/Order"
    xmlns:ns30="http://rapidservice.soademo.org/types/"
    xmlns:rules="http://xmlns.oracle.com/bpel/rules"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:ns16="http://xmlns.oracle.com/pcbpel/adapter/db/top/Orders/Orders"
    xmlns:ns27="http://www.globalcompany.com/ns/OrderBooking/rules"
    xmlns:ns5="http://xmlns.oracle.com/ias/pcbpel/NotificationService"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:ns31="http://creditservice.soademo.org/"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:ns32="http://creditservice.soademo.org/types/"
    xmlns:ns9="http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus"
    xmlns:ns17="http://www.globalcompany.com/ns/selectservice"
    xmlns:ns1="http://xmlns.oracle.com/bpel/rules"
    xmlns:ns25="http://selectservice.srdemo.org/"
    xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/OrderStatus/"
    xmlns:ns26="http://www.globalcompany.com/ns/Fulfillment"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns15="http://xmlns.oracle.com/pcbpel/adapter/db/Orders/"
    xmlns:ns10="http://www.globalcompany.com/ns/Fulfillment"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ns20="http://www.oracle.com/webservices/internal/literal"
    xmlns:ns13="http://xmlns.oracle.com/bpel"
    xmlns:ns7="http://credit.soademo.org/"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    xmlns:ns29="http://xmlns.oracle.com/bpel/services/IdentityService"
    xmlns:ns12="http://xmlns.oracle.com/pcbpel/adapter/db/OrderSequence/"
    xmlns:client="http://www.globalcompany.com/ns/OrderBooking"
    xmlns:ns23="http://www.globalcompany.com/ns/rapidservice"
    xmlns:ns18="http://xmlns.oracle.com/pcbpel/adapter/db/OrderSequence"
    xmlns:ns6="http://www.globalcompany.com/ns/credit"
    xmlns:ns28="http://www.globalcompany.com/ns/OrderBooking/DecisionService"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns22="http://www.globalcompany.com/ns/selectservice"
    xmlns:ns11="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns19="http://persistence.customerservice.soademo.org/"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns3="http://www.globalcompany.com/ns/customer"
    xmlns:ns14="http://www.globalcompany.com/ns/OrderBooking/ApprovalRequired"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:ns21="http://www.globalcompany.com/ns/credit.xsd"
    xmlns:ns8="http://xmlns.oracle.com/pcbpel/adapter/db/Order/">
    <!-- ================================================================= -->
    <!-- PARTNERLINKS -->
    <!-- List of services participating in this BPEL process -->
    <!-- ================================================================= -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:SOAOrderBooking"
    myRole="SOAOrderBookingProvider"
    partnerRole="SOAOrderBookingRequester"/>
    <partnerLink name="OrderFulfillment" partnerRole="execute_pptProvider"
    partnerLinkType="ns26:execute_pptLT"/>
    <partnerLink name="RapidService" partnerRole="RapidQuote_Role"
    partnerLinkType="ns23:RapidQuote_PL"/>
    <partnerLink name="CustomerService" partnerRole="CustomerService_Role"
    partnerLinkType="ns3:CustomerService_PL"/>
    <partnerLink myRole="SelectServiceRequester" name="SelectService"
    partnerRole="SelectServiceProvider"
    partnerLinkType="ns17:SelectService_PL"/>
    <partnerLink name="OrderStatus" partnerRole="OrderStatus_role"
    partnerLinkType="ns2:OrderStatus_plt"/>
    <partnerLink name="Order" partnerRole="Order_role"
    partnerLinkType="ns8:Order_plt"/>
    <partnerLink name="OrderSequence" partnerRole="OrderSequence_role"
    partnerLinkType="ns12:OrderSequence_plt"/>
    <partnerLink name="CreditValidatingService" partnerRole="creditservice_Role"
    partnerLinkType="ns31:creditservice_PL"/>
    </partnerLinks>
    <!-- ================================================================= -->
    <!-- VARIABLES -->
    <!-- List of messages and XML documents used within this BPEL process -->
    <!-- ================================================================= -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <!-- Reference to the message that will be sent back to the
    requester during callback
    -->
    <variable name="inputVariable"
    messageType="client:SOAOrderBookingRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:SOAOrderBookingResponseMessage"/>
    <variable name="OrderBookingFault"
    messageType="client:SOAOrderBookingFaultMessage"/>
    <variable name="customerServiceResponse"
    messageType="ns3:CustomerService_findCustomerByIdResponse"/>
    <variable name="requiresApproval" type="xsd:boolean"/>
    </variables>
    <faultHandlers>
    <catch faultName="client:OrderBookingFault"
    faultVariable="OrderBookingFault">
    <sequence name="Sequence_12">
    <scope name="SetOrderStatus">
    <variables>
    <variable name="orderStatusRequest"
    messageType="ns2:OrdersCollection_msg"/>
    </variables>
    <sequence name="Sequence_13">
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:ordid"/>
    </copy>
    <copy>
    <from expression="string('canceled')"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:status"/>
    </copy>
    <copy>
    <from variable="OrderBookingFault" part="payload"
    query="/client:SOAOrderBookingProcessFault/client:status"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:comments"/>
    </copy>
    </assign>
    <invoke name="SetFaultedOrderStatus" partnerLink="OrderStatus"
    portType="ns2:OrderStatus_ptt" operation="update"
    inputVariable="orderStatusRequest"/>
    </sequence>
    </scope>
    </sequence>
    </catch>
    </faultHandlers>
    <!-- ================================================================= -->
    <!-- ORCHESTRATION LOGIC -->
    <!-- Set of activities coordinating the flow of messages across the -->
    <!-- services integrated within this business process -->
    <!-- ================================================================= -->
    <sequence name="main">
    <!-- Receive input from requestor.
    Note: This maps to operation defined in SOAOrderBooking.wsdl
    -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:SOAOrderBooking" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <!-- Asynchronous callback to the requester.
    Note: the callback location and correlation id is transparently handled
    using WS-addressing.
    -->
    <scope name="InsertOrderIntoDB">
    <variables>
    <variable name="orderRequest" messageType="ns8:OrdersCollection_msg"/>
    <variable name="orderSequenceInput"
    messageType="ns12:OrderSequenceInput_msg"/>
    <variable name="orderSequenceOutput"
    messageType="ns12:OrderSequenceOutputCollection_msg"/>
    </variables>
    <sequence name="Sequence_11">
    <invoke name="GetOrderId" partnerLink="OrderSequence"
    portType="ns12:OrderSequence_ptt" operation="OrderSequence"
    inputVariable="orderSequenceInput"
    outputVariable="orderSequenceOutput"/>
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="orderSequenceOutput"
    part="OrderSequenceOutputCollection"
    query="/ns18:OrderSequenceOutputCollection/ns18:OrderSequenceOutput/ns18:order_seq_id_gen.nextval"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    </copy>
    <copy>
    <from expression="string('pending')"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:OrderInfo/ns4:OrderStatus"/>
    </copy>
    </assign>
    <assign name="TransformOrder">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="orderRequest" part="OrdersCollection"/>
    </copy>
    </assign>
    <invoke name="InsertOrder" partnerLink="Order" portType="ns8:Order_ptt"
    operation="write" inputVariable="orderRequest"/>
    </sequence>
    </scope>
    <scope name="CustomerService">
    <variables>
    <variable name="customerServiceRequest"
    messageType="ns3:CustomerService_findCustomerById"/>
    </variables>
    <sequence name="Sequence_9">
    <assign name="AssignRequest">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:CustID"/>
    <to variable="customerServiceRequest" part="parameters"
    query="/ns3:findCustomerById/ns3:custid"/>
    </copy>
    </assign>
    <invoke name="GetCustInfo" partnerLink="CustomerService"
    portType="ns3:CustomerService" operation="findCustomerById"
    inputVariable="customerServiceRequest"
    outputVariable="customerServiceResponse"/>
    <assign name="AssignInitialCustomerResponse">
    <bpelx:append>
    <bpelx:from>
    <ns4:ShipTo xmlns:ns4="http://www.globalcompany.com/ns/order">
    <ns4:Name>
    <ns4:First/>
    <ns4:Last/>
    </ns4:Name>
    </ns4:ShipTo>
    </bpelx:from>
    <bpelx:to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder"/>
    </bpelx:append>
    </assign>
    <assign name="AssignCustomerResponse">
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:fname"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:First"/>
    </copy>
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:lname"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:Last"/>
    </copy>
    </assign>
    </sequence>
    </scope>
    <scope name="CreditService">
    <variables>
    <variable name="validateRequest"
    messageType="ns31:Creditservice_verifyCC"/>
    <variable name="validateResponse"
    messageType="ns31:Creditservice_verifyCCResponse"/>
    </variables>
    <sequence name="Sequence_19">
    <assign name="InitializeInput">
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:creditcardtype"/>
    <to variable="validateRequest" part="parameters"
    query="/ns32:verifyCCElement/ns32:creditCard/ns32:ccType"/>
    </copy>
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:creditcardnumber"/>
    <to variable="validateRequest" part="parameters"
    query="/ns32:verifyCCElement/ns32:creditCard/ns32:ccNum"/>
    </copy>
    </assign>
    <invoke name="InvokeCreditService" partnerLink="CreditValidatingService"
    portType="ns31:creditservice" operation="verifyCC"
    inputVariable="validateRequest"
    outputVariable="validateResponse"/>
    <switch name="CheckCreditResponse">
    <case condition="bpws:getVariableData('validateResponse','parameters','/ns32:verifyCCResponseElement/ns32:result')='false'">
    <sequence name="Sequence_18">
    <assign name="AssignCreditErrorStatus">
    <copy>
    <from expression='string("Credit Card Invalid")'/>
    <to variable="OrderBookingFault" part="payload"
    query="/client:SOAOrderBookingProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowCreditFault"
    faultName="client:OrderBookingFault"
    faultVariable="OrderBookingFault"/>
    </sequence>
    </case>
    </switch>
    </sequence>
    </scope>
    <switch name="CheckForApproval">
    <case condition="string(bpws:getVariableData('requiresApproval')) != 'false'">
    <empty name="Empty_1"/>
    </case>
    </switch>
    <scope name="SelectSupplier">
    <variables>
    <variable name="selectManufacturerResponse"
    messageType="ns17:RequestQuote_processRequestQuoteResponse"/>
    <variable name="rapidManufacturerResponse"
    messageType="ns23:RequestQuotePortType_POItemsQuoteResponse"/>
    </variables>
    <sequence>
    <flow name="CallManufacturers">
    <sequence name="Sequence_2">
    <scope name="GetSelectMfrQuote">
    <variables>
    <variable name="manufacturerRequest"
    messageType="ns17:RequestQuote_processRequestQuote"/>
    </variables>
    <sequence name="Sequence_15">
    <assign name="TransformSelectRequest">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('SelectTransformation.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="manufacturerRequest" part="parameters"/>
    </copy>
    </assign>
    <invoke name="InvokeSelectManufacturer"
    partnerLink="SelectService"
    portType="ns17:SelectService"
    operation="processRequestQuote"
    inputVariable="manufacturerRequest"/>
    <receive name="ReceiveSelectManufacturer" createInstance="no"
    partnerLink="SelectService"
    portType="ns17:SelectServiceCallback"
    operation="processRequestQuoteResponse"
    variable="selectManufacturerResponse"/>
    </sequence>
    </scope>
    </sequence>
    <sequence name="GetRapidMfrQuote">
    <scope name="CallRapidManufacturer">
    <variables>
    <variable name="manufacturerRequest"
    messageType="ns23:RequestQuotePortType_POItemsQuote"/>
    </variables>
    <sequence name="Sequence_6">
    <assign name="TransformRapidRequest">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('RapidTransformation.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="manufacturerRequest" part="parameters"/>
    </copy>
    </assign>
    <invoke name="InvokeRapidManufacturer"
    partnerLink="RapidService" portType="ns23:RequestQuote"
    operation="POItemsQuote"
    inputVariable="manufacturerRequest"
    outputVariable="rapidManufacturerResponse"/>
    </sequence>
    </scope>
    </sequence>
    </flow>
    <switch name="SelectByPrice">
    <case condition="number(bpws:getVariableData('selectManufacturerResponse','parameters','/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierPrice')) &lt; number(bpws:getVariableData('rapidManufacturerResponse','parameters','/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierPrice'))">
    <assign name="AssignSelectManufacturer">
    <copy>
    <from variable="selectManufacturerResponse" part="parameters"
    query="/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierPrice"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierPrice"/>
    </copy>
    <copy>
    <from variable="selectManufacturerResponse" part="parameters"
    query="/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierName"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierName"/>
    </copy>
    </assign>
    </case>
    <otherwise>
    <assign name="AssignRapidManufacturer">
    <copy>
    <from variable="rapidManufacturerResponse" part="parameters"
    query="/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierPrice"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierPrice"/>
    </copy>
    <copy>
    <from variable="rapidManufacturerResponse" part="parameters"
    query="/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierName"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierName"/>
    </copy>
    </assign>
    </otherwise>
    </switch>
    </sequence>
    </scope>
    <scope name="PostFulfillmentReq">
    <variables>
    <variable name="orderFulfillmentRequest"
    messageType="ns26:PurchaseOrder_request"/>
    </variables>
    <faultHandlers>
    <catchAll>
    <empty/>
    </catchAll>
    </faultHandlers>
    <sequence name="Sequence_4">
    <assign name="initializeRequest">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder"/>
    <to variable="orderFulfillmentRequest" part="PurchaseOrder"/>
    </copy>
    </assign>
    <invoke name="PostFulfillmentReq" partnerLink="OrderFulfillment"
    portType="ns26:execute_ppt" operation="execute"
    inputVariable="orderFulfillmentRequest"/>
    </sequence>
    </scope>
    <scope name="SetFinalOrderStatus">
    <variables>
    <variable name="orderStatusRequest"
    messageType="ns2:OrdersCollection_msg"/>
    </variables>
    <sequence name="Sequence_13">
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:ordid"/>
    </copy>
    <copy>
    <from expression="string('completed')"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:status"/>
    </copy>
    </assign>
    <invoke name="UpdateOrderStatus" portType="ns2:OrderStatus_ptt"
    inputVariable="orderStatusRequest" partnerLink="OrderStatus"
    operation="update"/>
    </sequence>
    </scope>
    <scope name="NotifyCustomer">
    <bpelx:annotation>
    <bpelx:pattern patternName="bpelx:email"></bpelx:pattern>
    </bpelx:annotation>
    <variables>
    <variable name="varNotificationReq"
    messageType="ns5:EmailNotificationRequest"/>
    <variable name="varNotificationResponse"
    messageType="ns5:ArrayOfResponse"/>
    <variable name="NotificationServiceFaultVariable"
    messageType="ns5:NotificationServiceErrorMessage"/>
    </variables>
    <sequence name="Sequence_17">
    <assign name="EmailParamsAssign">
    <copy>
    <from expression="string('Default')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:FromAccountName"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Bcc"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Cc"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:ReplyToAddress"/>
    </copy>
    <copy>
    <from expression="string('Your order has been shipped')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Subject"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:UserContact/ns4:EmailAddress')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:To"/>
    </copy>
    <copy>
    <from expression="concat(string('Dear '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:First'), string('
    This is to inform you that your order number '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID'), string('has been '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:OrderInfo/ns4:OrderStatus'), string('
    If you have a question about your order, please contact customer service or send an email to [email protected]
    Thank you for doing business with Global Company. We appreciate your business!
    Global Company Customer Service'))"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Content/ns5:ContentBody"/>
    </copy>
    <copy>
    <from expression="string('text/html; charset=UTF-8')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Content/ns5:MimeType"/>
    </copy>
    </assign>
    <invoke name="InvokeNotificationService"
    portType="ns5:NotificationService"
    inputVariable="varNotificationReq"
    outputVariable="varNotificationResponse"
    operation="sendEmailNotification"
    partnerLink="NotificationService"/>
    </sequence>
    </scope>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:SOAOrderBookingCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>
    I think there is some err in invoking ns5: NotificationService
    Plzzzz help me to resolve this issue...
    Thanks,
    Indhu

    Thx. Now there is no errors in compiling that SOAOrderBooking BPEL process(there is some warnings), but iam getting deployment errors:
    Compiling bpel process SOAOrderBooking, revision 1.0
    [bpelc] unknown wsdl extension.
    [bpelc] In WSDL at "http://localhost:8888/esb/wsil/Fulfillment/OrderFulfillment?wsdl", extension element "{http://www.oracle.com/esb/}binding" is not known. Ignore this element.
    [bpelc] Please make sure the spelling of the element is correct and the WSDL import is complete.
    [bpelc]
    [bpelc] validating "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel" ...
    [bpelc] BPEL suitcase generated in: I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\output\bpel_SOAOrderBooking_1.0.jar
    [bpelc] Warning: BPEL validation has warnings.
    [bpelc] The following warnings were reported during validation:
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 130 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 141 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}comments anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 187 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}decimal" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}string".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 375 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}decimal".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 391 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}decimal".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 438 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc]
    [bpelc]
    deployProcess:
    [echo]
    | Deploying bpel process SOAOrderBooking on localhost, port 8888
    [deployProcess] Deploying process I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\output\bpel_SOAOrderBooking_1.0.jar
    BUILD FAILED
    I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\build.xml:87: Authentication failed for user "oc4jadmin" on host "localhost"
    Total time: 7 seconds
    I think the above deployment err were bcoz of compilation warnings:
    Warning(130):
    [Error ORABPEL-10041]: Trying to assign incompatible types
    [Description]: in line 130 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    plz come up with suggestions to resolve this issue...
    Thanks,
    Indhu

  • Error in compiling the BPEL process

    Hi,
    I am getting the following error while compiling the BPEL process. Its a simple process with a Pick activity and have two onMessage activities. One of the activity is having the correlation set and another one is not. Is that the problem ? If yes what should I do to resolve this.
    Any thoughts ?
    {color:#ff0000}[bpelc] classpath is: C:\apache-maven-2.0.9\boot\classworlds-1.1.jar;D:\workspace\Eclipse\ExternalUserWorkflow\src\test\resources\ContractorServiceFailureDeployment;D:\oracle\product\10.1.3.1\OracleAS_1\bpel\lib\orabpel-ant.jar;D:\oracle\product\10.1.3.1\OracleAS_1\bpel\lib\orabpel-boot.jar;D:\oracle\product\10.1.3.1\OracleAS_1\bpel\lib\orabpel-common.jar;D:\oracle\product\10.1.3.1\OracleAS_1\bpel\lib\orabpel-exts.jar;D:\oracle\product\10.1.3.1\OracleAS_1\bpel\lib\orabpel-thirdparty.jar;D:\oracle\product\10.1.3.1\OracleAS_1\bpel\lib\orabpel.jar;D:\oracle\product\10.1.3.1\OracleAS_1\bpel\lib\xmlparserv2.jar
    [bpelc] C:\DOCUME~1\krishnaa\LOCALS~1\Temp\bpelc1637.tmp\BPEL-INF\src\bpel\test\BPEL_BIN.java:5656: nested class bpel.test.BPEL_BIN. $BPELC_BpRpl0 must be declared abstract. It does not define java.lang.String __getInitiateCorrelationSetNames()[] from class com.collaxa.cube.engine.ext.wmp.BPELReplyWMP.
    [bpelc] public final static class $BPELC_BpRpl0 extends com.collaxa.cube.engine.ext.wmp.BPELReplyWMP
    [bpelc] ^
    [bpelc] 1 error
    [bpelc] ORABPEL-01005
    [bpelc]
    [bpelc] Failed to compile classes.{color}
    Thank you.

    It looks to me that, you have manually changed something in the BPEL process code.
    A process designed via Jdev/designer can only have one variable in inputHeaderVariable syntax.
    While Bpel standard supports calling inputHeaderVariable with two variables, if the generated file was tinkered with to add an extra variable, then this is not Jdev bug and you need to use the latest JDev 10.1.3.4.
    If you are not manually modifying or tinkering the process, then let me know what are the errors you get out of compiling that new BPEL project in JDeveloper 10.1.3.4 ?
    Hope this helps!
    Cheers
    Anirudh Pucha

  • Problem with asyn bpel process assign activity

    hi
    i m creating asyn bpel process,in my assign activity,i want to copy operation.But it seems that when i expand my input variable it doesnt expand.so i m not able to copy.what would be the reason.anybody suggest me
    thanks

    works for me
    i added the xsd to my composite application
    created a new bpel in it, for input/ouput used both your elements.
    after that i added the assign and could just 'browse' the tree to both the input-element and the result-element, with this result :
        <sequence name="main">
            <!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess2.wsdl) -->
            <receive name="receiveInput" partnerLink="bpelprocess2_client" portType="client:BPELProcess2" operation="process" variable="inputVariable" createInstance="yes"/>
            <!--
              Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
            -->
            <assign name="my_assign">
                <copy>
                    <from variable="inputVariable" part="payload"
                          query="/ns1:AsyncallerProcessRequest/ns1:input"/>
                    <to variable="outputVariable" part="payload"
                        query="/ns1:AsyncallerProcessResponse/ns1:result"/>
                </copy>
            </assign>
            <invoke name="callbackClient" partnerLink="bpelprocess2_client" portType="client:BPELProcess2Callback" operation="processResponse" inputVariable="outputVariable"/>
        </sequence>when you put your bpel in design mode (first tab), and the and the left bottom browse to <your process.bpel> > Variables > Process > Variables > inputVariable > payload > ns1:AsyncallerProcessRequest > input
    you do see this element ?
    at the bottom fo this window you see a checkbox "show detailed node information", in case of errors or non validation xsd's this would be usefull, but the xsd validates for me.
    any other errors you can find ?

  • Errors after upgrading Bpel process manager

    Hi all,
    As said in the subject I recently upgraded to the latest version of the Bpel process manager. And it looks like some changes have been made ;-) My project does not compile/deploy anymore. See below the obant errors I got. Apparently, I should now add the ns prefixes in the bpel source ... could you confirm? What impact will that make on the queries?
    thanx,
    --mike
    Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument>obant
    Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument>SETLOCAL
    Buildfile: build.xml
    main:
    [bpelc] bpelc> validating "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel" ...
    [bpelc] BPEL validation failed.
    [bpelc] BPEL source validation failed, the errors are:
    [bpelc]
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 377 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/input/userId"
    is invalid, because step ':userId' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 382 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/input/imageUR
    L" is invalid, because step ':imageURL' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 404 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/input/passwor
    d" is invalid, because step ':password' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 747 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/loanupdate/ex
    ecution/started" is invalid, because step ':execution' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 752 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/loanupdate/lo
    anAccountNumber" is invalid, because step ':loanAccountNumber' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 757 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/loanupdate/fo
    rmURL" is invalid, because step ':formURL' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 767 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/loanupdate/lo
    anAccountNumber" is invalid, because step ':loanAccountNumber' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 772 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/loanupdate/fo
    rmURL" is invalid, because step ':formURL' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 782 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/loanupdate/ex
    ecution/finished" is invalid, because step ':execution' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 817 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/input/emailRe
    cipient" is invalid, because step ':emailRecipient' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 822 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/input/emailRe
    cipient" is invalid, because step ':emailRecipient' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 1127 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/input/emailR
    ecipient" is invalid, because step ':emailRecipient' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    Next is my bpel source:
    <!-- LocalLoanIncSmartDocument BPEL Process [Generated by the Oracle BPEL Designer] -->
    <process name="LocalLoanIncSmartDocument" targetNamespace="urn:SmartDocument" suppressJoinFailure="yes" xmlns:tns="urn:SmartDocument" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:cx="http://schemas.collaxa.com/xpath/extension" xmlns:ns0="urn:ocr.services.smartdocument.xerox.com" xmlns:ns1="urn:email.services.smartdocument.xerox.com" xmlns:ns2="urn:categoriser.services.smartdocument.xerox.com" xmlns:ns3="urn:signature.services.smartdocument.xerox.com" xmlns:ns4="urn:LoanService" xmlns:ns5="urn:dataglyph.services.smartdocument.xerox.com" xmlns:ns6="urn:initiate.services.smartdocument.xerox.com" xmlns:ns7="urn:seal.services.smartdocument.xerox.com" xmlns:ns8="http://www.xerox.com/webservices/" xmlns:ns9="urn:store.services.smartdocument.xerox.com" xmlns:ns10="urn:factfinder.services.smartdocument.xerox.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:task="http://services.oracle.com/bpel/task">
         <!-- ================================================================= -->
         <!-- PARTNERLINKS -->
         <!-- List of services participating in this BPEL process -->
         <!-- ================================================================= -->
         <partnerLinks>
              <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
              <partnerLink name="client" partnerLinkType="tns:LocalLoanIncSmartDocument" myRole="LocalLoanIncSmartDocumentProvider" partnerRole="LocalLoanIncSmartDocumentRequester"/>
              <partnerLink name="SignatureService" partnerRole="SignatureProvider" partnerLinkType="ns3:SignatureLink"/>
              <partnerLink name="CategoriserService" partnerRole="CategoriserProvider" partnerLinkType="ns2:CategoriserLink"/>
              <partnerLink name="EmailService" partnerRole="EmailProvider" partnerLinkType="ns1:EmailLink"/>
              <partnerLink name="OCRService" partnerRole="OcrProvider" partnerLinkType="ns0:OcrLink"/>
              <partnerLink name="ValidateApplicationManager" partnerLinkType="task:TaskManager" partnerRole="TaskManager" myRole="TaskManagerRequester"/>
              <partnerLink name="DataglyphService" partnerRole="DataglyphProvider" partnerLinkType="ns5:DataglyphLink"/>
              <partnerLink name="LoanService" partnerRole="LoanServiceProvider" partnerLinkType="ns4:LoanServiceLink"/>
              <partnerLink name="InitiateService" partnerLinkType="ns6:InitiateLink" partnerRole="InitiateProvider"/>
              <partnerLink name="SealService" partnerLinkType="ns7:SealLink" partnerRole="SealProvider"/>
              <!-- CHANGE If on boss
              <partnerLink name="FactFinderService" partnerLinkType="ns8:FactFinderSoapLink" partnerRole="FactFinderSoapProvider"/>
    -->
              <!-- CHANGE If not on boss -->
              <partnerLink name="FactFinderService" partnerLinkType="ns10:FactFinderSoapLink" partnerRole="FactFinderSoapProvider"/>
              <!-- -->
              <partnerLink name="StoreService" partnerLinkType="ns9:StoreLink" partnerRole="StoreProvider"/>
         </partnerLinks>
         <!-- ================================================================= -->
         <!-- VARIABLES -->
         <!-- List of messages and XML documents used within this BPEL process -->
         <!-- ================================================================= -->
         <variables>
              <!-- Reference to the message passed as input during initiation -->
              <variable name="input" messageType="tns:InputMessage"/>
              <!-- Reference to the message that will be sent back to the
    requester during callback
    -->
              <variable name="flowContents" messageType="tns:SmartDocumentMessage"/>
              <variable name="dataglyphKey" type="xsd:string"/>
              <variable name="inputSmartDocumentId" type="xsd:string"/>
              <variable name="inputDocumentId" type="xsd:string"/>
              <variable name="inputUrl" type="xsd:string"/>
              <variable name="serviceIdentifier" type="xsd:string"/>
              <variable name="runtimeFaultMessage" messageType="bpelx:RuntimeFaultMessage"/>
              <variable name="authId" type="xsd:string"/>
         </variables>
         <faultHandlers>
              <catch faultName="bpelx:bindingFault" faultVariable="runtimeFaultMessage">
                   <scope name="HandleBindingFault">
                        <variables>
                             <variable name="error" element="tns:error"/>
                        </variables>
                        <sequence>
                             <scope name="SetErrorMessage">
                                  <sequence>
                                       <assign name="prepareRecord">
                                            <copy>
                                                 <from variable="serviceIdentifier">
                                                 </from>
                                                 <to variable="error" query="/error/processStep"/>
                                            </copy>
                                            <copy>
                                                 <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                 </from>
                                                 <to variable="error" query="/error/occuredAt"/>
                                            </copy>
                                            <copy>
                                                 <from variable="runtimeFaultMessage" part="code">
                                                 </from>
                                                 <to variable="error" query="/error/errorCode"/>
                                            </copy>
                                            <copy>
                                                 <from variable="runtimeFaultMessage" part="summary">
                                                 </from>
                                                 <to variable="error" query="/error/errorSummary"/>
                                            </copy>
                                       </assign>
                                       <assign name="addToSmartDocument">
                                            <copy>
                                                 <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('error'))">
                                                 </from>
                                                 <to variable="flowContents" part="document" query="/smartdocument"/>
                                            </copy>
                                       </assign>
                                  </sequence>
                             </scope>
                             <scope name="Seal">
                                  <variables>
                                       <variable name="seal" element="tns:seal"/>
                                       <variable name="sealInput" messageType="ns7:SealRequest"/>
                                       <variable name="sealOutput" messageType="ns7:SealResponse"/>
                                  </variables>
                                  <sequence>
                                       <assign name="prepareRecord">
                                            <copy>
                                                 <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                 </from>
                                                 <to variable="seal" query="/seal/execution/started"/>
                                            </copy>
                                            <copy>
                                                 <from variable="inputSmartDocumentId">
                                                 </from>
                                                 <to variable="seal" query="/seal/input/smartdocumentid"/>
                                            </copy>
                                            <copy>
                                                 <from variable="inputDocumentId">
                                                 </from>
                                                 <to variable="seal" query="/seal/input/documentid"/>
                                            </copy>
                                       </assign>
                                       <assign name="addtoSmartDocument">
                                            <copy>
                                                 <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('seal'))">
                                                 </from>
                                                 <to variable="flowContents" part="document" query="/smartdocument"/>
                                            </copy>
                                       </assign>
                                       <assign name="setServiceInput">
                                            <copy>
                                                 <from variable="authId">
                                                 </from>
                                                 <to variable="sealInput" part="AuthId"/>
                                            </copy>
                                            <copy>
                                                 <from variable="seal" query="/seal/input/smartdocumentid">
                                                 </from>
                                                 <to variable="sealInput" part="SmartDocumentId"/>
                                            </copy>
                                            <copy>
                                                 <from expression="ora:getContentAsString(ora:getElement('flowContents', 'document', '/smartdocument'))">
                                                 </from>
                                                 <to variable="sealInput" part="XmlString"/>
                                            </copy>
                                       </assign>
                                       <invoke partnerLink="SealService" portType="ns7:Seal" operation="Seal" inputVariable="sealInput" outputVariable="sealOutput"/>
                                  </sequence>
                             </scope>
                        </sequence>
                   </scope>
              </catch>
              <catch faultName="bpelx:remoteFault" faultVariable="runtimeFaultMessage">
                   <scope name="HandleRemoteFault">
                        <variables>
                             <variable name="error" element="tns:error"/>
                        </variables>
                        <sequence>
                             <scope name="SetErrorMessage">
                                  <sequence>
                                       <assign name="prepareRecord">
                                            <copy>
                                                 <from variable="serviceIdentifier">
                                                 </from>
                                                 <to variable="error" query="/error/processStep"/>
                                            </copy>
                                            <copy>
                                                 <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                 </from>
                                                 <to variable="error" query="/error/occuredAt"/>
                                            </copy>
                                            <copy>
                                                 <from variable="runtimeFaultMessage" part="code">
                                                 </from>
                                                 <to variable="error" query="/error/errorCode"/>
                                            </copy>
                                            <copy>
                                                 <from variable="runtimeFaultMessage" part="summary">
                                                 </from>
                                                 <to variable="error" query="/error/errorSummary"/>
                                            </copy>
                                       </assign>
                                       <assign name="addToSmartDocument">
                                            <copy>
                                                 <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('error'))">
                                                 </from>
                                                 <to variable="flowContents" part="document" query="/smartdocument"/>
                                            </copy>
                                       </assign>
                                  </sequence>
                             </scope>
                             <scope name="Seal">
                                  <variables>
                                       <variable name="seal" element="tns:seal"/>
                                       <variable name="sealInput" messageType="ns7:SealRequest"/>
                                       <variable name="sealOutput" messageType="ns7:SealResponse"/>
                                  </variables>
                                  <sequence>
                                       <assign name="prepareRecord">
                                            <copy>
                                                 <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                 </from>
                                                 <to variable="seal" query="/seal/execution/started"/>
                                            </copy>
                                            <copy>
                                                 <from variable="inputSmartDocumentId">
                                                 </from>
                                                 <to variable="seal" query="/seal/input/smartdocumentid"/>
                                            </copy>
                                            <copy>
                                                 <from variable="inputDocumentId">
                                                 </from>
                                                 <to variable="seal" query="/seal/input/documentid"/>
                                            </copy>
                                       </assign>
                                       <assign name="addtoSmartDocument">
                                            <copy>
                                                 <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('seal'))">
                                                 </from>
                                                 <to variable="flowContents" part="document" query="/smartdocument"/>
                                            </copy>
                                       </assign>
                                       <assign name="setServiceInput">
                                            <copy>
                                                 <from variable="authId">
                                                 </from>
                                                 <to variable="sealInput" part="AuthId"/>
                                            </copy>
                                            <copy>
                                                 <from variable="seal" query="/seal/input/smartdocumentid">
                                                 </from>
                                                 <to variable="sealInput" part="SmartDocumentId"/>
                                            </copy>
                                            <copy>
                                                 <from expression="ora:getContentAsString(ora:getElement('flowContents', 'document', '/smartdocument'))">
                                                 </from>
                                                 <to variable="sealInput" part="XmlString"/>
                                            </copy>
                                       </assign>
                                       <invoke partnerLink="SealService" portType="ns7:Seal" operation="Seal" inputVariable="sealInput" outputVariable="sealOutput"/>
                                  </sequence>
                             </scope>
                        </sequence>
                   </scope>
              </catch>
              <catchAll>
                   <scope name="HandleGenericFault">
                        <variables>
                             <variable name="error" element="tns:error"/>
                        </variables>
                        <sequence>
                             <scope name="SetErrorMessage">
                                  <sequence>
                                       <assign name="prepareRecord">
                                            <copy>
                                                 <from variable="serviceIdentifier">
                                                 </from>
                                                 <to variable="error" query="/error/processStep"/>
                                            </copy>
                                            <copy>
                                                 <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                 </from>
                                                 <to variable="error" query="/error/occuredAt"/>
                                            </copy>
                                            <copy>
                                                 <from expression="'UNKNOWN ERROR CODE'">
                                                 </from>
                                                 <to variable="error" query="/error/errorCode"/>
                                            </copy>
                                            <copy>
                                                 <from expression="'UNKNOWN ERROR SUMMARY'">
                                                 </from>
                                                 <to variable="error" query="/error/errorSummary"/>
                                            </copy>
                                       </assign>
                                       <assign name="addToSmartDocument">
                                            <copy>
                                                 <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('error'))">
                                                 </from>
                                                 <to variable="flowContents" part="document" query="/smartdocument"/>
                                            </copy>
                                       </assign>
                                  </sequence>
                             </scope>
                             <scope name="Seal">
                                  <variables>
                                       <variable name="seal" element="tns:seal"/>
                                       <variable name="sealInput" messageType="ns7:SealRequest"/>
                                       <variable name="sealOutput" messageType="ns7:SealResponse"/>
                                  </variables>
                                  <sequence>
                                       <assign name="prepareRecord">
                                            <copy>
                                                 <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                 </from>
                                                 <to variable="seal" query="/seal/execution/started"/>
                                            </copy>
                                            <copy>
                                                 <from variable="inputSmartDocumentId">
                                                 </from>
                                                 <to variable="seal" query="/seal/input/smartdocumentid"/>
                                            </copy>
                                            <copy>
                                                 <from variable="inputDocumentId">
                                                 </from>
                                                 <to variable="seal" query="/seal/input/documentid"/>
                                            </copy>
                                       </assign>
                                       <assign name="addtoSmartDocument">
                                            <copy>
                                                 <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('seal'))">
                                                 </from>
                                                 <to variable="flowContents" part="document" query="/smartdocument"/>
                                            </copy>
                                       </assign>
                                       <assign name="setServiceInput">
                                            <copy>
                                                 <from variable="authId">
                                                 </from>
                                                 <to variable="sealInput" part="AuthId"/>
                                            </copy>
                                            <copy>
                                                 <from variable="seal" query="/seal/input/smartdocumentid">
                                                 </from>
                                                 <to variable="sealInput" part="SmartDocumentId"/>
                                            </copy>
                                            <copy>
                                                 <from expression="ora:getContentAsString(ora:getElement('flowContents', 'document', '/smartdocument'))">
                                                 </from>
                                                 <to variable="sealInput" part="XmlString"/>
                                            </copy>
                                       </assign>
                                       <invoke partnerLink="SealService" portType="ns7:Seal" operation="Seal" inputVariable="sealInput" outputVariable="sealOutput"/>
                                  </sequence>
                             </scope>
                        </sequence>
                   </scope>
              </catchAll>
         </faultHandlers>
         <!-- ================================================================= -->
         <!-- ORCHESTRATION LOGIC -->
         <!-- Set of activities coordinating the flow of messages across the -->
         <!-- services integrated within this business process -->
         <!-- ================================================================= -->
         <sequence name="main">
              <!-- Receive input from requestor.
    Note: This maps to operation defined in LocalLoanIncSmartDocument.wsdl
    -->
              <receive name="receiveInput" partnerLink="client" portType="tns:LocalLoanIncSmartDocument" operation="initiate" variable="input" createInstance="yes"/>
              <assign name="InitialiseVariables">
                   <copy>
                        <from expression="'042e05a98cddac30e309f8'">
                        </from>
                        <to variable="dataglyphKey"/>
                   </copy>
                   <copy>
                        <from expression="'0'">
                        </from>
                        <to variable="inputSmartDocumentId"/>
                   </copy>
                   <copy>
                        <from expression="'0'">
                        </from>
                        <to variable="inputDocumentId"/>
                   </copy>
                   <copy>
                        <from expression="'Unknown service'">
                        </from>
                        <to variable="serviceIdentifier"/>
                   </copy>
              </assign>
              <scope name="Initiate">
                   <variables>
                        <variable name="initiate" element="tns:initiate"/>
                        <variable name="initiateInput" messageType="ns6:InitiateRequest"/>
                        <variable name="initiateOutput" messageType="ns6:InitiateResponse"/>
                   </variables>
                   <sequence>
                        <assign name="prepareRecord">
                             <copy>
                                  <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                  </from>
                                  <to variable="initiate" query="/initiate/execution/started"/>
                             </copy>
                             <copy>
                                  <from variable="input" part="payload" query="/input/userId">
                                  </from>
                                  <to variable="initiate" query="/initiate/userid"/>
                             </copy>
                             <copy>
                                  <from variable="input" part="payload" query="/input/imageURL">
                                  </from>
                                  <to variable="initiate" query="/initiate/url"/>
                             </copy>
                             <copy>
                                  <from expression="string('LocalLoanIncSmartDocument')">
                                  </from>
                                  <to variable="initiate" query="/initiate/processName"/>
                             </copy>
                        </assign>
                        <assign name="setServiceInput">
                             <copy>
                                  <from expression="'Initiate'">
                                  </from>
                                  <to variable="serviceIdentifier"/>
                             </copy>
                             <copy>
                                  <from variable="initiate" query="/initiate/userid">
                                  </from>
                                  <to variable="initiateInput" part="Username"/>
                             </copy>
                             <copy>
                                  <from variable="input" part="payload" query="/input/password">
                                  </from>
                                  <to variable="initiateInput" part="Password"/>
                             </copy>
                             <copy>
                                  <from variable="initiate" query="/initiate/url">
                                  </from>
                                  <to variable="initiateInput" part="URL"/>
                             </copy>
                        </assign>
                        <invoke partnerLink="InitiateService" portType="ns6:Initiate" operation="Initiate" inputVariable="initiateInput" outputVariable="initiateOutput"/>
                        <assign name="updateScopeVariables">
                             <copy>
                                  <from variable="initiateOutput" part="Result" query="/Result/SmartDocumentId">
                                  </from>
                                  <to variable="inputSmartDocumentId"/>
                             </copy>
                             <copy>
                                  <from variable="initiateOutput" part="Result" query="/Result/DocumentId">
                                  </from>
                                  <to variable="inputDocumentId"/>
                             </copy>
                             <copy>
                                  <from variable="initiateOutput" part="Result" query="/Result/DocumentURL">
                                  </from>
                                  <to variable="inputUrl"/>
                             </copy>
                             <copy>
                                  <from variable="initiateOutput" part="Result" query="/Result/AuthId">
                                  </from>
                                  <to variable="authId"/>
                             </copy>
                        </assign>
                        <assign name="updateRecord">
                             <copy>
                                  <from variable="initiateOutput" part="Result" query="/Result/SmartDocumentId">
                                  </from>
                                  <to variable="initiate" query="/initiate/output/smartdocumentid"/>
                             </copy>
                             <copy>
                                  <from variable="initiateOutput" part="Result" query="/Result/DocumentId">
                                  </from>
                                  <to variable="initiate" query="/initiate/output/documentid"/>
                             </copy>
                             <copy>
                                  <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                  </from>
                                  <to variable="initiate" query="/initiate/execution/finished"/>
                             </copy>
                        </assign>
                        <assign name="addToSmartDocument">
                             <copy>
                                  <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('initiate'))">
                                  </from>
                                  <to variable="flowContents" part="document" query="/smartdocument"/>
                             </copy>
                        </assign>
                   </sequence>
              </scope>
              <scope name="DetectDataglyph">
                   <variables>
                        <variable name="glyphdetection" element="tns:glyphdetection"/>
                        <variable name="detectDataglyphInput" messageType="ns5:SmartDocumentDataglyphDetectRequest"/>
                        <variable name="detectDataglyphOutput" messageType="ns5:SmartDocumentDataglyphDetectResponse"/>
                   </variables>
                   <sequence>
                        <assign name="prepareRecord">
                             <copy>
                                  <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/execution/started"/>
                             </copy>
                             <copy>
                                  <from variable="flowContents" part="document" query="/smartdocument/initiate/output/smartdocumentid">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/input/smartdocumentid"/>
                             </copy>
                             <copy>
                                  <from variable="flowContents" part="document" query="/smartdocument/initiate/output/documentid">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/input/documentid"/>
                             </copy>
                        </assign>
                        <assign name="setServiceInput">
                             <copy>
                                  <from expression="'GlyphDetection'">
                                  </from>
                                  <to variable="serviceIdentifier"/>
                             </copy>
                             <copy>
                                  <from variable="authId">
                                  </from>
                                  <to variable="detectDataglyphInput" part="AuthId"/>
                             </copy>
                             <copy>
                                  <from variable="dataglyphKey">
                                  </from>
                                  <to variable="detectDataglyphInput" part="Key"/>
                             </copy>
                             <copy>
                                  <from expression="5">
                                  </from>
                                  <to variable="detectDataglyphInput" part="MaxAngle"/>
                             </copy>
                             <copy>
                                  <from expression="128">
                                  </from>
                                  <to variable="detectDataglyphInput" part="Region"/>
                             </copy>
                             <copy>
                                  <from variable="glyphdetection" query="/glyphdetection/input/smartdocumentid">
                                  </from>
                                  <to variable="detectDataglyphInput" part="SmartDocumentId"/>
                             </copy>
                             <copy>
                                  <from variable="glyphdetection" query="/glyphdetection/input/documentid">
                                  </from>
                                  <to variable="detectDataglyphInput" part="DocumentId"/>
                             </copy>
                        </assign>
                        <invoke partnerLink="DataglyphService" portType="ns5:Dataglyph" operation="SmartDocumentDataglyphDetect" inputVariable="detectDataglyphInput" outputVariable="detectDataglyphOutput"/>
                        <assign name="updateRecord">
                             <copy>
                                  <from expression="string(boolean(bpws:getVariableData('detectDataglyphOutput', 'Result', '/Result/Result')&gt;500.0))">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/detected"/>
                             </copy>
                             <copy>
                                  <from variable="detectDataglyphOutput" part="Result" query="/Result/SmartDocumentId">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/output/smartdocumentid"/>
                             </copy>
                             <copy>
                                  <from variable="detectDataglyphOutput" part="Result" query="/Result/DocumentId">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/output/documentid"/>
                             </copy>
                             <copy>
                                  <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/execution/finished"/>
                             </copy>
                        </assign>
                        <assign name="addToSmartDocument">
                             <copy>
                                  <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('glyphdetection'))">
                                  </from>
                                  <to variable="flowContents" part="document" query="/smartdocument"/>
                             </copy>
                        </assign>
                   </sequence>
              </scope>
              <switch name="DataglyphDetected">
                   <case condition="bpws:getVariableData('flowContents', 'document', '/smartdocument/glyphdetection/detected')='true'">
                        <sequence>
                             <scope name="Detected-ProcessAsForm">
                                  <sequence>
                                       <scope name="DetectSignature">
                                            <variables>
                                                 <variable name="signaturedetection" element="tns:signaturedetection"/>
                                                 <variable name="detectSignatureInput" messageType="ns3:SmartDocumentSignatureDetectRequest"/>
                                                 <variable name="detectSignatureOutput" messageType="ns3:SmartDocumentSignatureDetectResponse"/>
                                            </variables>
                                            <sequence>
                                                 <assign name="prepareRecord">
                                                      <copy>
                                                           <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                           </from>
                                                           <to variable="signaturedetection" query="/signaturedetection/execution/started"/>
                                                      </copy>
                                                      <copy>
                                                           <from variable="flowContents" part="document" query="/smartdocument/glyphdetection/output/smartdocumentid">
                                                           </from>
                                                           <to variable="signaturedetection" query="/signaturedetection/input/smartdocumentid"/>
                                                      </copy>
                                                      <copy>
                                                           <from variable="flowContents" part="document" query="/smartdocument/glyphdetection/output/documentid">
       

    Hi all,
    I modified the bpel so that it could compile by letting the designer add prefixes where it needed some. Then I deployed the process and tested it. Unfortunately ;-( See below the error log. It looks like the newly added prefixes are source of troubles ...
    Any ideas?
    --mike
    [2005/04/29 11:06:12] Error in <assign> expression: <to> value is empty at line "375". The XPath expression : "/tns:input/tns:userId" returns zero node, when applied to document shown below: Less
    <input xmlns="urn:SmartDocument" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <userId xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">mniemaz</userId>
    <password xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">mniemaz</password>
    <imageURL xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">http://pic-charvet.xrce.xeroxlabs.com:8080/smartdocument.demo/data/tiff/loanrequest1.tiff</imageURL>
    <emailRecipient xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">[email protected]</emailRecipient>
    <formOutput xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">file.pdf</formOutput>
    </input>
    [2005/04/29 11:06:12] "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown. Less
    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    <part name="summary">empty variable/expression result. xpath variable/expression expression "/tns:input/tns:userId" is empty at line 375, when attempting reading/copying it. Please make sure the variable/expression result "/tns:input/tns:userId" is not empty.</part>
    </selectionFailure>

  • Problems in invoking BPEL process

    Hi there,
    I created with JDeveloper the following BPEL process :
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <process name="ProvaBPEL" targetNamespace="http://xmlns.oracle.com/ProvaBPEL"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ns1="http://www.research.ibm.com/wsla"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:client="http://xmlns.oracle.com/ProvaBPEL"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:ProvaBPEL"
    myRole="ProvaBPELProvider"/>
    </partnerLinks>
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <variable name="inputVariable"
    messageType="client:ProvaBPELRequestMessage"/>
    <!-- Reference to the message that will be returned to the requester-->
    <variable name="outputVariable"
    messageType="client:ProvaBPELResponseMessage"/>
    </variables>
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in ProvaBPEL.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:ProvaBPEL" operation="process"
    variable="inputVariable" createInstance="yes"/>
    <!-- Generate reply to synchronous request -->
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload"/>
    <to variable="outputVariable" part="payload"/>
    </copy>
    </assign>
    <reply name="replyOutput" partnerLink="client" portType="client:ProvaBPEL"
    operation="process" variable="outputVariable"/>
    </sequence>
    </process>
    which gets as input a WSLA type (http://www.research.ibm.com/wsla) and returns it as output without performing any operation (just a copy operation).
    I have deployed the process and it can be accessed at http://localhost/8888/orabpel/default/ProvaBPEL/1.0. I can see it in the BPEL Console but (first problem) I can't test it because I can't see the usual HTML form the BPEL console shows. I can't see the origine xml form too. If I go to the BPEL endpoint I see the following error message:
    Cannot test this Operation using the Test Page because Could not understand type: {http://www.research.ibm.com/wsla}StringList
    The wsdl of the deployed BPEL Process is:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="ProvaBPEL"
    targetNamespace="http://xmlns.oracle.com/ProvaBPEL"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:client="http://xmlns.oracle.com/ProvaBPEL"
    xmlns:ns1="http://www.research.ibm.com/wsla"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
         <types>
              <schema xmlns="http://www.w3.org/2001/XMLSchema">
                   <import namespace="http://www.research.ibm.com/wsla" schemaLocation="WSLA093.xsd" />
              </schema>
         </types>
         <message name="ProvaBPELRequestMessage">
              <part name="payload" element="ns1:SLA" />
         </message>
         <message name="ProvaBPELResponseMessage">
              <part name="payload" element="ns1:SLA" />
         </message>
         <!-- portType implemented by the ProvaBPEL BPEL process -->
         <portType name="ProvaBPEL">
              <operation name="process">
                   <input message="client:ProvaBPELRequestMessage" />
                   <output message="client:ProvaBPELResponseMessage"/>
              </operation>
         </portType>
         <plnk:partnerLinkType name="ProvaBPEL">
              <plnk:role name="ProvaBPELProvider">
                   <plnk:portType name="client:ProvaBPEL"/>
              </plnk:role>
         </plnk:partnerLinkType>
    </definitions>
    I used Apache XMLBeans to bind the WSLA types to Java types creating a WSLA.jar that I import in the following client I have developed:
    import com.ibm.research.wsla.*;
    import java.io.File;
    import java.net.URL;
    import javax.xml.soap.*;
    import org.w3c.dom.Document;
    import org.w3c.dom.Node;
    public class SOAPClient {
    public static void main(String[] args) {
    SOAPConnectionFactory fact;
    try {  
    fact = SOAPConnectionFactory.newInstance();
    SOAPConnection con = fact.createConnection();
    MessageFactory mfact = MessageFactory.newInstance();
    SOAPMessage smsg = mfact.createMessage();
    SOAPPart prt = smsg.getSOAPPart();
    SOAPEnvelope env = prt.getEnvelope();
    SOAPBody bdy = env.getBody();
    File xmlfile = new File("C:\\prova.xml");
    SLADocument sladoc = SLADocument.Factory.parse(xmlfile);
    Node nd = sladoc.getDomNode();
    bdy.addDocument((Document) nd);
    System.out.println("SOAP Message:");
    smsg.writeTo(System.out);
    System.out.println();
    System.out.println();
    //Set the WebService end point URL
    URL endpoint = new URL("http://dana:8888/orabpel/default/ProvaBPEL/1.0");
    //Send the message
    SOAPMessage response;
    response = con.call(smsg, endpoint);
    System.out.println("Received SOAP Message:");
    response.writeTo(System.out);
    System.out.println();
    //Close the connection
    con.close();
    catch (Exception e) {
    e.printStackTrace();
    The client simply parses an XML file and uses it as bosy of the SOAP message.
    JDeveloper compiles it without errors but when I run the project (second problem) I get the following as SOAP response:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><env:Fault xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>env:Server</faultcode><faultstring>java.lang.NullPointerException</faultstring><faultactor></faultactor></env:Fault></env:Body></env:Envelope>
    and I can't see any instance of the BPEL Process in the BPEL Console. I'm quite sure the SOAP message is well formed because I can see it in the Running output. I also tried with simpler BPEL process for which I can see the HTML form in the BPEL Console and copying and pasting the SOAP message generated with my client in the Origine XML form the Process was invoked correctly.
    Can anybody help me? Thanks in advance.

    Great! Thank you for the reply! Now I manage to invocate the BPEL process. I put the line:
    smsg.getMimeHeaders().addHeader("SOAPAction", "process");
    and now my day is a good day!
    However I tried to place the import of the WSLA093.xsd schema outside the types element with:
    <import namespace="http://www.research.ibm.com/wsla" location="WSLA093.xsd" />
    but it didn't work. Now the wsdl file of the BPEL Process is:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="ProvaBPEL"
    targetNamespace="http://xmlns.oracle.com/ProvaBPEL"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:client="http://xmlns.oracle.com/ProvaBPEL"
    xmlns:ns1="http://www.research.ibm.com/wsla"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
    <import namespace="http://www.research.ibm.com/wsla" location="WSLA093.xsd" />
    <types>
              <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://www.research.ibm.com/wsla" schemaLocation="WSLA093.xsd" />
              </schema>
         </types>
         <message name="ProvaBPELRequestMessage">
              <part name="payload" element="ns1:SLA" />
         </message>
         <message name="ProvaBPELResponseMessage">
              <part name="payload" element="ns1:SLA" />
         </message>
         <!-- portType implemented by the ProvaBPEL BPEL process -->
         <portType name="ProvaBPEL">
              <operation name="process">
                   <input message="client:ProvaBPELRequestMessage" />
                   <output message="client:ProvaBPELResponseMessage"/>
              </operation>
         </portType>
         <plnk:partnerLinkType name="ProvaBPEL">
              <plnk:role name="ProvaBPELProvider">
                   <plnk:portType name="client:ProvaBPEL"/>
              </plnk:role>
         </plnk:partnerLinkType>
    </definitions>
    Please tell me if it is correct. I also tried to delete the line:
    <import namespace="http://www.research.ibm.com/wsla" schemaLocation="WSLA093.xsd" />
    from the types element (even if I don't know if it is correct) but I always have the same error in the BPEL endpoint page:
    Cannot test this Operation using the Test Page because Could not understand type: {http://www.research.ibm.com/wsla}StringList
    Thank you very muche for the help.

  • Scope structured activity in JDeveloper/BPEL Process

    well, I am quite using Jdeveloper for createing BPEL process with scope activity and without. Now under what conditions ideally one should go for scope activity ?
    Is it similar to methods in Java ? and variables we declare inside this scope are visible only within this scope --> again something similar to local variables in Java.
    So, ideally when should developer think of using scope activity in bpel ? though many's answers would be depends the business scenario. But I need some general concepts & thought about how one should use this ?
    Thanks.

    Hi,
    Scope activity is being used as a container for other activities. Within the scope you can manage fault handling, compensation, variable declaration, correlation etc..
    When you build, or design your process, you need to consider a use of a scope activity.
    For example: You need to design a process that calls java class and a web service(or other 2 operations). You can:
    1. Use 1 scope that contains both calls. That way, if you will have an error for either one of the services, you can catch it, and do something, like terminate the process.
    2. Use 1 scope for each service call. That way, if you will have an error for either one of the services, you can catch it, and continue to the next process step (scope or other activity).
    Also, within a scope you can declare an operation that Replay the scope. That way, if something happens -> begin the scope (and its activities) from the beginning.
    There are many ways and purposes to use a scope. Again, it depends what is your requirement.
    One important thing to consider –scope can influence on performance (just to be aware of).
    Arik

Maybe you are looking for