BPEL process with no payload

Is a BPEL process required to have a payload? If not how do you create one? I have a process that I need to invoke that requires no input. When I invoke it from the test screen I have to enter a meaningless value into the payload field to execute it.
This is for 11g.
Edited by: user3161913 on Jan 13, 2011 9:31 AM
Edited by: user3161913 on Jan 13, 2011 9:31 AM

Hi,
It not mandatory to have the payload ...u can remove that element frm the xsd and just invoke the BPEL.

Similar Messages

  • Invoke BPEL process with the webservice interface

    I'm using Oracle BPEL PM 10.1.2.x.
    Follow the example comes with the BPEL PM, i can invoke the BPEL process in a J2EE project (with the webservice interface). The example named "UseStockReviewSheet".
    Then i tried to invoke the BPEL process i designed with Eclipse BPEL Designer. The version of BPEL designer for Eclipse is 0.9.13.
    I failed and got following errors:
    09/03/17 16:55:53 com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.
    xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
    messageType: {null}
    parts: {{summary=<summary>变量/表达式结果为空.
    尝试读取/复制第 50 行的 xpath 变量/表达式 "bpws:getVariableData('input','payload
    ','/tns:CreditFlowRequest/tns:input')" 时, 发现为空。.
    请确保变量/表达式结果 "bpws:getVariableData('input','payload','/tns:CreditFlowRe
    quest/tns:input')" 非空。.
    </summary>}}
    09/03/17 16:55:53 at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.checkEx
    pressionFromValue(BPELAssignWMP.java:972)
    09/03/17 16:55:53 at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.evalFro
    mValue(BPELAssignWMP.java:504)
    09/03/17 16:55:53 at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.__execu
    teStatements(BPELAssignWMP.java:122)
    09/03/17 16:55:53 at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perfo
    rm(BPELActivityWMP.java:188)
    09/03/17 16:55:53 at com.collaxa.cube.engine.CubeEngine.performActivity(Cu
    beEngine.java:3408)
    09/03/17 16:55:53 at com.collaxa.cube.engine.CubeEngine.handleWorkItem(Cub
    eEngine.java:1836)
    09/03/17 16:55:53 at com.collaxa.cube.engine.dispatch.message.instance.Per
    formMessageHandler.handleLocal(PerformMessageHandler.java:75)
    09/03/17 16:55:53 at com.collaxa.cube.engine.dispatch.DispatchHelper.handl
    eLocalMessage(DispatchHelper.java:166)
    09/03/17 16:55:53 at com.collaxa.cube.engine.dispatch.DispatchHelper.sendM
    emory(DispatchHelper.java:252)
    09/03/17 16:55:53 at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEng
    ine.java:5438)
    09/03/17 16:55:53 at com.collaxa.cube.engine.CubeEngine.createAndInvoke(Cu
    beEngine.java:1217)
    09/03/17 16:55:53 at com.collaxa.cube.engine.delivery.DeliveryService.hand
    leInvoke(DeliveryService.java:511)
    09/03/17 16:55:53 at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.han
    dleInvoke(CubeDeliveryBean.java:335)
    09/03/17 16:55:53 at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.
    handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.java:1796)
    09/03/17 16:55:53 at com.collaxa.cube.engine.dispatch.message.invoke.Invok
    eInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
    09/03/17 16:55:53 at com.collaxa.cube.engine.dispatch.DispatchHelper.handl
    eMessage(DispatchHelper.java:125)
    09/03/17 16:55:53 at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.
    process(BaseScheduledWorker.java:70)
    09/03/17 16:55:53 at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage
    (WorkerBean.java:86)
    09/03/17 16:55:53 at com.evermind.server.ejb.MessageDrivenBeanInvocation.r
    un(MessageDrivenBeanInvocation.java:123)
    09/03/17 16:55:53 at com.evermind.server.ejb.MessageDrivenHome.onMessage(M
    essageDrivenHome.java:755)
    09/03/17 16:55:53 at com.evermind.server.ejb.MessageDrivenHome.run(Message
    DrivenHome.java:928)
    09/03/17 16:55:53 at com.evermind.util.ReleasableResourcePooledExecutor$My
    Worker.run(ReleasableResourcePooledExecutor.java:186)
    09/03/17 16:55:53 at java.lang.Thread.run(Thread.java:534)
    <2009-03-17 16:55:53,640> <ERROR> <default.collaxa.cube.xml> com.oracle.bpel.cli
    ent.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-proce
    ss/}selectionFailure}
    messageType: {null}
    parts: {{summary=<summary>变量/表达式结果为空.
    尝试读取/复制第 50 行的 xpath 变量/表达式 "bpws:getVariableData('input','payload
    ','/tns:CreditFlowRequest/tns:input')" 时, 发现为空。.
    请确保变量/表达式结果 "bpws:getVariableData('input','payload','/tns:CreditFlowRe
    quest/tns:input')" 非空。.
    </summary>}}
    I can invoke my BPEL process in BPEL console, not in J2EE project. bpws:getVariableData('input','payload','/tns:CreditFlowRequest/tns:input')" is null.
    The error message contains some Chineses word. I'm new to BPEL, hope someone can give me a hint on how to solve this problem.
    Thanks a billion!
    --Sunny 2009-3-18

    Following is the java class invoking BPEL process with the webservice interface.
    package com.otn.samples;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.JAXRPCException;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.ServiceException;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.encoding.XMLType;
    import javax.xml.rpc.soap.SOAPFaultException;
    import org.apache.axis.client.Call;
    * @version 2.0 $Date: 07-mar-2005.05:07:45 $
    * @author Copyright (c) 2004 by Oracle. All Rights Reserved.
    public class CreditFlowClient
    private static QName SERVICE_NAME;
    private static QName PORT_TYPE;
    private static QName OPERATION_NAME;
    private static String SOAP_ACTION;
    private static String STYLE;
    private static String THIS_NAMESPACE = "http://samples.otn.com";
    private static String PARAMETER_NAMESPACE = "http://samples.otn.com";
    private String location;
    static
    SERVICE_NAME = new QName(THIS_NAMESPACE,"CreditFlow");
    PORT_TYPE = new QName(THIS_NAMESPACE,"CreditFlow") ;
    OPERATION_NAME = new QName(THIS_NAMESPACE,"creditFlowRequest");
    SOAP_ACTION = "initiate";
    STYLE = "wrapped";
    public void setLocation(String location)
    this.location = location;
    public void initiate(String ssn)
    try
    /* Create Service and Call object */
    ServiceFactory serviceFactory = ServiceFactory.newInstance();
    Service service = serviceFactory.createService( SERVICE_NAME );
    Call call = (Call)service.createCall( PORT_TYPE );
    /* Set all of the stuff that would normally come from WSDL */
    call.setTargetEndpointAddress( location );
    call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
    call.setProperty(Call.SOAPACTION_URI_PROPERTY, SOAP_ACTION);
    call.setProperty( Call.OPERATION_STYLE_PROPERTY , STYLE );
    call.setOperationName(OPERATION_NAME);
    call.addParameter(new QName(PARAMETER_NAMESPACE,"ssn"), XMLType.XSD_STRING, ParameterMode.IN);
    Object[] params = new Object[1];
    params[0] = ssn;
    /* Invoke the service */
    call.invokeOneWay(params);
    System.out.println( "CreditFlow BPEL process initiated" );
    catch (SOAPFaultException e)
    System.err.println("Generated fault: ");
    System.out.println (" Fault Code = " + e.getFaultCode());
    System.out.println (" Fault String = " + e.getFaultString());
    catch (JAXRPCException e)
    System.err.println("JAXRPC Exception: " + e.getMessage());
    catch (ServiceException e)
    System.err.println("Service Exception: " + e.getMessage());
    public static void main(String[] args)
    String ssn = "12-123-126";
    String location = "http://localhost:9700/orabpel/default/CreditFlow";
    CreditFlowClient client = new CreditFlowClient();
    if(args.length == 1)
         ssn = args[0];
    else if(args.length ==2)
    location = args[0];
    ssn = args[1];
    client.setLocation( location );
    client.initiate( ssn );
    -------------------------------------------------------------------

  • Cannot deploy BPEL process with SSO to BPELConsole activated

    I cannot deploy BPEL process with SSO to BPELConsole activated. Here is the error I get from JDeveloper (sorry for the french error message):
    Problème détecté lors de la connexion au serveur "ssdvoiagu.dev.local.csst.qc.ca" sur le port "7781" : java.security.AccessControlException: access denied (com.collaxa.security.DomainPermission generique read)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
    at java.security.AccessController.checkPermission(AccessController.java:427)
    at com.collaxa.security.OC4JSecurityService.checkAccess(OC4JSecurityService.java:16)
    at com.collaxa.security.SecurityService.checkDomainAccess(SecurityService.java:26)
    at com.collaxa.cube.fe.util.ServletUtils.getLocatorWithoutUrlRewrite(ServletUtils.java:162)
    at deployHttpClientProcess.jspService(_deployHttpClientProcess.java:332)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    Target BPEL process manager runs under SOA 10.1.3.3. When the SSO to BPELConsole is disabled, the deployment works just fine. Is there any way to make it work with SSO?

    Please check:
    http://blog.jpoot.com/category/oracle-appserver/oid-ldap/
    We had some issues with SSO and SSL but everything is running now.
    Marc

  • Issue about Invoking a BPEL Process with the Generic Java API

    I Invoking a BPEL Process with the Generic Java API and apache axis or axis2
    it turn up a error as follow:
    org.apache.axis2.AxisFault: ORABPEL-08021
    Cannot find partner wsdl.
    parnterLink "BPELProcess1" is not found in process "BPELProcess1" (revision "v2008_11_17__38943").
    Please check the deployment descriptor of the process to find the correct partnerLink name.
         at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:512)
         at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370)
         at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
         at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
         at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
         at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548)
         at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)
         at wf.Test_axis2_callws.main(Test_axis2_callws.java:41)
    i can't solve it !
    what's problem ???
    anyone use java code to invoke bpel process successfully..can show me some example?
    thanks
    chan

    Hi,
    Check below link may help you solve your problem.
    http://www.activevos.com/cec/samples/content/sample-invoke/doc/index.html
    Regards

  • How to start BPEL process with publishing initiation form designed in ADF

    Hii All,
    Can Anyone please tell me how to Start my BPEL process with publishing initiation forms designed in ADF fusion.
    I am using JDevloper 11g and Oracle SOASuite 11g toolset in windows platform.
    Thankx in Advance,
    Deekay.

    Hi,
    I assume you mean the JMS example under the $OH BPEL examples area. Unfortunately, this only shows how to get a BPEL process kicked off by awaiting a JMS message - but there is no test code there! There are specific examples which show off the testing framework facilities but it appears that all the examples which use async type of interactions are in the middle of a process which is kicked off by a normal synchronous client interaction.
    Any further help much appreciated.
    Colin.

  • Securing a BPEL Process with username/password in 10g

    securing a BPEL Process with username/password in 10g

    use OWSM gateways..
    create a gateway and define your policy in the gateway

  • Undeploying BPEL Process with ant

    Hello,
    I am trying to undeploy BPEL Process with the ANT Script. I did not wrote it by myself but got it as a sample from
    http://blogs.oracle.com/rammenon/2007/11/26/#a74 with the admintasks.jar as well.
    Unfortunately, when I try to undeploy , I recieved following exception:
    java.rmi.UnmarshalException: Error deserializing return-value: java.io.InvalidClassException: com.oracle.bpel.client.BPELDomainHandle; local class incompatible: stream classdesc serialVersionUID = -6384534326625967840, local class serialVersionUID = -8310067783665200608
    at com.evermind.server.rmi.RMIClientConnection.handleMethodInvocationResponse(RMIClientConnection.java:843)
    at com.evermind.server.rmi.RMIClientConnection.handleOrmiCommandResponse(RMIClientConnection.java:287)
    at com.evermind.server.rmi.RMIClientConnection.dispatchResponse(RMIClientConnection.java:242)
    at com.evermind.server.rmi.RMIClientConnection.processReceivedCommand(RMIClientConnection.java:224)
    at com.evermind.server.rmi.RMIConnection.handleCommand(RMIConnection.java:152)
    at com.evermind.server.rmi.RMIConnection.listenForOrmiCommands(RMIConnection.java:127)
    at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:107)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
    at java.lang.Thread.run(Thread.java:595)
    INFO: Failed to undeploy BPEL processes. - Error deserializing return-value: java.io.InvalidClassException: com.oracle.bpel.client.BPELDomainHandle; local class incompatible: stream classdesc serialVersionUID = -6384534326625967840, local class serialVersionUID = -8310067783665200608
    Did somebody face with this problem and can help me out?
    I am using Oracle SOA Suite 10.1.3.3.0
    Thanks,
    Denis

    Thanks for your advise. I have visited your blog and tryed to undeploy my BPEL Process via <undeployBPELProcess> task. But I get: "failed to create task or type of type: undeployBPELProcess. Cause: The Name is undefined" error. So I guess I don't have a proper jar file.
    I am very short on experience with Oracle SOA Suite, so I got stuck with this issue.
    Denis

  • Problem in invoking a BPEL process with complex input

    Hi,
    I have an asynchronous BPEL process which has a complex request schema. When I try to invoke the process through BPEL Console, it works properly. But when invoking it through Java API, it seems that the input soap message is not well received by the process. Here are relevant files:
    *==============-BPEL file==================*
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <process name="MapCopyProject"
    targetNamespace="http://mapcopyservices/"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns4="http://mapcopyservices/"
    xmlns:ns3="http://mapcopyservices/types/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <partnerLink name="MapCheckService" partnerLinkType="ns4:MapCheckService_PL"
    partnerRole="MapCheckService_Role"/>
    <partnerLink myRole="TotalBPELProcessProvider" name="TotalBPELProcess"
    partnerRole="TotalBPELProcessRequester"
    partnerLinkType="ns4:TotalBPELProcess"/>
    <partnerLink name="MapActionService" partnerRole="MapActionService_Role"
    partnerLinkType="ns4:MapActionService_PL"/>
    </partnerLinks>
    <variables>
    <variable name="ClientInput"
    messageType="ns4:TotalBPELProcessRequestMessage"/>
    <variable name="ClientOutput"
    messageType="ns4:TotalBPELProcessResponseMessage"/>
    <variable name="CheckSourceExistance_Output"
    messageType="ns4:MapCheckService_checkSourceExistanceResponse"/>
    <variable name="CheckSourceExistance_Input"
    messageType="ns4:MapCheckService_checkSourceExistance"/>
    <variable name="GetCoordinateSystemType_Output"
    messageType="ns4:MapCheckService_getCoordinateSystemTypeResponse"/>
    <variable name="GetCoordinateSystemType_Input"
    messageType="ns4:MapCheckService_getCoordinateSystemType"/>
    <variable name="CheckSourceExistance2_Input"
    messageType="ns4:MapCheckService_checkSourceExistance"/>
    <variable name="CheckSourceExistance2_Output"
    messageType="ns4:MapCheckService_checkSourceExistanceResponse"/>
    <variable name="InvokeMapAction_Input"
    messageType="ns4:MapActionService_CopyAndTransform"/>
    <variable name="InvokeMapAction_Output"
    messageType="ns4:MapActionService_CopyAndTransformResponse"/>
    </variables>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <receive name="ReceiveInput" partnerLink="TotalBPELProcess"
    portType="ns4:TotalBPELProcessInvoke" operation="initiate"
    variable="ClientInput" createInstance="yes"/>
    <flow name="Flow_1">
    <sequence name="Sequence_1">
    <assign name="Assign_3">
    <copy>
    <from variable="ClientInput" part="parameters"
    query="/ns3:TotalBPELProcessRequest/ns3:destConn"/>
    <to variable="CheckSourceExistance2_Input" part="parameters"
    query="/ns3:checkSourceExistanceElement/ns3:MapConnection_1"/>
    </copy>
    </assign>
    <invoke name="Invoke_CheckSource2" partnerLink="MapCheckService"
    portType="ns4:MapCheckService" operation="checkSourceExistance"
    inputVariable="CheckSourceExistance2_Input"
    outputVariable="CheckSourceExistance2_Output"/>
    </sequence>
    <sequence name="Sequence_1">
    <assign name="Assign_1">
    <copy>
    <from variable="ClientInput" part="parameters"
    query="/ns3:TotalBPELProcessRequest/ns3:sourceConn"/>
    <to variable="CheckSourceExistance_Input" part="parameters"
    query="/ns3:checkSourceExistanceElement/ns3:MapConnection_1"/>
    </copy>
    </assign>
    <invoke name="Invoke_CheckSource" partnerLink="MapCheckService"
    portType="ns4:MapCheckService" operation="checkSourceExistance"
    inputVariable="CheckSourceExistance_Input"
    outputVariable="CheckSourceExistance_Output"/>
    </sequence>
    </flow>
    <switch name="CheckSourceAndDest">
    <case condition="string(bpws:getVariableData('CheckSourceExistance_Output','parameters','/ns3:checkSourceExistanceResponseElement/ns3:result'))='true' and string(bpws:getVariableData('CheckSourceExistance2_Output','parameters','/ns3:checkSourceExistanceResponseElement/ns3:result'))='true'">
    <empty name="Empty_1"/>
    </case>
    <otherwise>
    <terminate name="Terminate_1"/>
    </otherwise>
    </switch>
    <assign name="Assign_4">
    <copy>
    <from variable="ClientInput" part="parameters"
    query="/ns3:TotalBPELProcessRequest/ns3:sourceConn"/>
    <to variable="GetCoordinateSystemType_Input" part="parameters"
    query="/ns3:getCoordinateSystemTypeElement/ns3:MapConnection_1"/>
    </copy>
    </assign>
    <invoke name="Invoke_GetCoSysType" partnerLink="MapCheckService"
    portType="ns4:MapCheckService" operation="getCoordinateSystemType"
    inputVariable="GetCoordinateSystemType_Input"
    outputVariable="GetCoordinateSystemType_Output"/>
    <switch name="CheckPossibility">
    <case condition="number(bpws:getVariableData('GetCoordinateSystemType_Output','parameters','/ns3:getCoordinateSystemTypeResponseElement/ns3:result'))=number(bpws:getVariableData('ClientInput','parameters','/ns3:TotalBPELProcessRequest/ns3:transformMapType'))">
    <empty name="Empty_2"/>
    </case>
    <otherwise>
    <terminate name="Terminate_2"/>
    </otherwise>
    </switch>
    <assign name="Assign_7">
    <copy>
    <from variable="ClientInput" part="parameters"
    query="/ns3:TotalBPELProcessRequest/ns3:sourceConn"/>
    <to variable="InvokeMapAction_Input" part="parameters"
    query="/ns3:CopyAndTransformElement/ns3:sourceConn"/>
    </copy>
    <copy>
    <from variable="ClientInput" part="parameters"
    query="/ns3:TotalBPELProcessRequest/ns3:destConn"/>
    <to variable="InvokeMapAction_Input" part="parameters"
    query="/ns3:CopyAndTransformElement/ns3:destConn"/>
    </copy>
    <copy>
    <from variable="ClientInput" part="parameters"
    query="/ns3:TotalBPELProcessRequest/ns3:transformMapType"/>
    <to variable="InvokeMapAction_Input" part="parameters"
    query="/ns3:CopyAndTransformElement/ns3:transformMapType"/>
    </copy>
    </assign>
    <invoke name="Invoke_MapAction" partnerLink="MapActionService"
    portType="ns4:MapActionService" operation="CopyAndTransform"
    inputVariable="InvokeMapAction_Input"
    outputVariable="InvokeMapAction_Output"/>
    <assign name="Assign_6">
    <copy>
    <from variable="InvokeMapAction_Output" part="parameters"
    query="/ns3:CopyAndTransformResponseElement/ns3:result"/>
    <to variable="ClientOutput" part="parameters"
    query="/ns3:TotalBPELProcessResponse/ns3:result"/>
    </copy>
    </assign>
    <invoke name="Invoke_CallBack" partnerLink="TotalBPELProcess"
    portType="ns4:TotalBPELProcessCallback" operation="onResult"
    inputVariable="ClientOutput"/>
    </sequence>
    </process>
    *==================WSDL file of process invoke port================*
    <definitions
    name="TotalBPELProcess"
    targetNamespace="http://mapcopyservices/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://mapcopyservices/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:tns0="http://mapcopyservices/types/"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    >
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://mapcopyservices/types/"
    elementFormDefault="qualified" xmlns:tns="http://mapcopyservices/types/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/">
    <complexType name="MapConnection">
    <sequence>
    <element name="layerName" type="string" nillable="true"/>
    <element name="connString" type="string" nillable="true"/>
    <element name="mapType" type="int"/>
    </sequence>
    </complexType>
    <element name="TotalBPELProcessRequest">
    <complexType>
    <sequence>
    <element name="sourceConn" type="tns:MapConnection" nillable="true"/>
    <element name="destConn" type="tns:MapConnection" nillable="true"/>
    <element name="transformMapType" type="int"/>
    </sequence>
    </complexType>
    </element>
    <element name="TotalBPELProcessResponse">
    <complexType>
    <sequence>
    <element name="result" type="int"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    <message name="TotalBPELProcessRequestMessage">
    <part name="parameters" element="tns0:TotalBPELProcessRequest"/>
    </message>
    <message name="TotalBPELProcessResponseMessage">
    <part name="parameters" element="tns0:TotalBPELProcessResponse"/>
    </message>
         <portType name="TotalBPELProcessInvoke">
              <operation name="initiate">
                   <input message="tns:TotalBPELProcessRequestMessage"/>
              </operation>
         </portType>
         <!-- portType implemented by the requester of BPELProcess1 BPEL process
         for asynchronous callback purposes
         -->
         <portType name="TotalBPELProcessCallback">
              <operation name="onResult">
                   <input message="tns:TotalBPELProcessResponseMessage"/>
              </operation>
         </portType>
         <plnk:partnerLinkType name="TotalBPELProcess">
              <plnk:role name="TotalBPELProcessProvider">
                   <plnk:portType name="tns:TotalBPELProcessInvoke"/>
              </plnk:role>
              <plnk:role name="TotalBPELProcessRequester">
                   <plnk:portType name="tns:TotalBPELProcessCallback"/>
              </plnk:role>
         </plnk:partnerLinkType>
    </definitions>
    *===================JSP invoking file=====================*
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@page import="java.util.Map" %>
    <%@page import="com.oracle.bpel.client.Locator" %>
    <%@page import="com.oracle.bpel.client.NormalizedMessage" %>
    <%@page import="com.oracle.bpel.client.delivery.IDeliveryService" %>
    <%@page import="java.util.*" %>
    <%@ page import="javax.naming.Context" %>
    <%@ page import="javax.naming.InitialContext" %>
    <%@ page import="javax.naming.NamingException" %>
    <%@ page import="javax.rmi.PortableRemoteObject" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
    <title>CopyMap</title>
    </head>
    <body>
         <%
    try{
         String xml =
    "<ns100:TotalBPELProcessRequest xmlns:ns100=\"http://mapcopyservices/types/\">"+
    "<ns100:sourceConn>"+
    "<ns100:layerName>1</ns100:layerName>"+
    "<ns100:connString>1</ns100:connString>"+
    "<ns100:mapType>1</ns100:mapType>"+
    "</ns100:sourceConn>"+
    "<ns100:destConn>"+
    "<ns100:layerName>1</ns100:layerName>"+
    "<ns100:connString>1</ns100:connString>"+
    "<ns100:mapType>1</ns100:mapType>"+
    "</ns100:destConn>"+
    "<ns100:transformMapType>1</ns100:transformMapType>"+
    "</ns100:TotalBPELProcessRequest>";
    Hashtable jndi = new Hashtable();
    jndi.put(Context.PROVIDER_URL, "opmn:ormi://amir:6003:oc4j_soa/orabpel");
    jndi.put(Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.rmi.RMIInitialContextFactory");
    jndi.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");
    jndi.put(Context.SECURITY_CREDENTIALS, "as123456");
    Locator locator = new Locator("default","as123456",jndi);
         IDeliveryService deliveryService =
              (IDeliveryService)locator.lookupService
              (IDeliveryService.SERVICE_NAME );
         NormalizedMessage nm = new NormalizedMessage( );
         nm.addPart("payload", xml );
    deliveryService.post("MapCopyProject", "initiate", nm);
         out.println( "BPELProcess MapCopyProject initiated!<br>" );
    catch(Exception ex){
    out.println(ex.getMessage());
    ex.printStackTrace();
         %>
    </body>
    </html>
    *===================================*
    Error occurs in first assign activity like this:
    *=========*
    Error in evaluate <from> expression at line "97". The result is empty for the XPath expression : "/ns3:TotalBPELProcessRequest/ns3:sourceConn".
    *=========*
    Please tell me if you know how to solve it. Thanks

    It sounds very much like a namespace issue.
    As it works from the BPELConsole, fill in the values in the BPELConsole initiate page and switch from the HTML to the XML view. Copy the XML to Notepad or another suitable editor; then insert it as fixed values into the Java/JSP code and try to call the server with the hardcoded payload instead of the one you are generating.
    You can also save the payload in the JSP (write it to a file or standard output) before the call; then open it in jDeveloper or Eclipse and validate it against the schema. That way you will find if the XML is invalid.
    Also, check the flow in the BPELConsole. As it fails on an XPath expression you must have a process. If you click on the receive activity you can see the received payload. Again, copy that to jDeveloper or Eclipse and validate it. Also compare it to the XML you get if you initiate the process manuallly. There must be some difference.
    If you still can't get it to work, post the XML from the initiate operation and from the JSP operation (as they are seen in the receive activity) and we can help you check them out!

  • BPEL process with one or more requests and one or more responses

    We need to create a process that will have one or more requests and one or more responses, and CheckoutFlow example is exactly what we need. Now we just have to find out how to invoke this process from the Axis client and how to invoke other operations like ‘continue’ and ‘submit’ from the same example.
    I understand that we have to set ws-addressing information into SOAP header, but I am not sure when and how to do that. Also I am not sure why we have to set correlation set when invoking ‘initatiate’, ‘continue’ and ‘submit’ as they are defined as two-way operations in CheckoutFlow.wsdl. I would expect to send correlation set only for ‘onResult’ operation.
    I have used wsdl2java to create stub classes and here is a test client code:
    public void testCheckoutFlow() throws Exception {
    com.erggroup.mass.wf.CheckoutFlowBindingStub stub = null;
    try {
         stub = (com.erggroup.mass.wf.CheckoutFlowBindingStub)
                                                           new com.erggroup.mass.wf.CheckoutFlow_ServiceLocator().getCheckoutFlowPort();
              catch (javax.xml.rpc.ServiceException jre) {
              // Time out after a minute
              stub.setTimeout(60000);
              com.erggroup.mass.wf.OrderType order = new com.erggroup.mass.wf.OrderType();
              order.setProduct("Axis product");
              com.erggroup.mass.wf.ProfileType profile = new com.erggroup.mass.wf.ProfileType();
              profile.setEmail("[email protected]");
              order.setProfile(profile);
              //      Invoke initiate
              com.erggroup.mass.wf.AddressType address = stub.initiate(order);
              address.setName("Axis test");
              //      Invoke continue
              stub._continue(address);
    and this is exception message
    ORABPEL-03802
    Correlation definition not registered.
    The correlation set definition for operation "continue", process "CheckoutFlow", has not been registered with the process domain.
    Please try to redeploy your process to the process domain.
    Is there any example for this? I was looking AXISCallingAsyncBPEL example but it does not help in this case.
    Thanks,
    Dragana

    Error while invoking other method 'proceedNext' after initiating the process:
    Correlation definition not registered.
    The correlation set definition for operation "proceedNext", process "Connection", has not been registered with the process domain.
    Please try to redeploy your process to the process domain.
    WSDL is:
         <message name="ConnectionRequestMessage">
              <part name="payload" element="client:ConnectionProcessRequest"/>
         </message>
         <message name="ConnectionResponseMessage">
              <part name="payload" element="client:ConnectionProcessResponse"/>
         </message>
    <!-- portType implemented by the Connection BPEL process -->
         <portType name="Connection">
              <operation name="initiate">
                   <input message="client:ConnectionRequestMessage"/>
              </operation>
    <operation name="proceedNext">
                   <input message="client:ConnectionRequestMessage"/>
              </operation>
    <operation name="terminateFinally">
                   <input message="client:ConnectionRequestMessage"/>
              </operation>
         </portType>
    MY java class:::
    import com.oracle.services.bpel.Connection.*;
    import org.apache.axis.message.*;
    import javax.xml.soap.Name;
    public class ProceedNext
    public static void main(String [] args) throws Exception {
    ConnectionBindingStub stub = null;
    try {
    stub = (ConnectionBindingStub)
    new Connection_ServiceLocator().getConnectionPort();
    catch (javax.xml.rpc.ServiceException jre) {
    jre.printStackTrace();
    // Time out after a minute
    stub.setTimeout(60000);
    String conversationId = "LocalGUID:c568752ccc493590:148662:1093d9c661f:-7fed";
    javax.xml.namespace.QName qname= new javax.xml.namespace.QName("http://services.oracle.com/bpel/Connection","ConnectionRequestMessage");
    SOAPHeaderElement el = new SOAPHeaderElement(qname, conversationId);
    SOAPEnvelope se = new SOAPEnvelope();
    Name name = se.createName("rootId", "nsbpel",
    "http://services.oracle.com/bpel/Connection");
    el.addAttribute(name, conversationId);
    name = se.createName("parentId", "nsbpel",
    "http://services.oracle.com/bpel/Connection");
    el.addAttribute(name, conversationId);
    name = se.createName("priority", "nsbpel",
    "http://services.oracle.com/bpel/Connection");
    el.addAttribute(name, "0");
    stub.setHeader(el);
    /*String conversationId = "LocalGUID:c568752ccc493590:148662:1093d9c661f:-7ff0";
    javax.xml.namespace.QName qname= new javax.xml.namespace.QName("http://schemas.xmlsoap.org/ws/2003/03/addressing","MessageID");
    SOAPHeaderElement el = new SOAPHeaderElement(qname, conversationId);
    SOAPEnvelope se = new SOAPEnvelope();
    Name name = se.createName("rootId", "nsbpel",
    "http://schemas.oracle.com/bpel");
    el.addAttribute(name, conversationId);
    name = se.createName("parentId", "nsbpel",
    "http://schemas.oracle.com/bpel");
    el.addAttribute(name, conversationId);
    name = se.createName("priority", "nsbpel",
    "http://schemas.oracle.com/bpel");
    el.addAttribute(name, "0");
    stub.setHeader(el);
    // Set up the object which will be the input message
    // Note that this Java bean is generated by wsdl2java
    ConnectionProcessRequest conReq=new ConnectionProcessRequest( );
    conReq.setSubject("***************");
    // Make the actual call
    stub.proceedNext(conReq);
    System.out.println("ConnectionProcessRequest BPEL process proceeded!");
    Please help its very urgent....................

  • Business Event not triggering the SOA BPEL Process with OA Adapter

    Hello Gurus,
    I am working on Business event "oracle.apps.per.api.employee.create_employee" and the event is getting triggered when creating an employee from EBS.
    The message has come till WF_BPEL_QTAB(I could seeit) and in "READY" status.We have a SOA BPEL Process that is subscribed to the event "oracle.apps.per.api.employee.create_employee" using OA Adapter.
    The issue is that the SOA BPEL process is not getting triggered and it is not dequeing the message from WF_BPEL_Q.
    Please let me know if I have missed any steps on SOA BPEL side.
    Note: Agent Listener is up and running.
    Thanks,
    Sunil

    Ofcourse, I subscribed to the business event using BPEL. Ideally the instances should be created and I should be able to receive the standard payload.
    Yes the JNDIs are correct. We have other business events working in the same fashion and we are using same JNDI.

  • BPEL Process with multiple file types using one FTP adapter is not working

    i created a bpel process which will fetch the files from remote location using FTP adapter.
    Now the process works for only one format or file type like *.xls.
    How can i use more than one file format in one FTP adapter.
    OR
    is there any other way to do it.
    file type assignation is 5th step in FTP adapter configuration.
    i have tried *.xls,*.csv and *.xls;*.csv and *.xls:*.csv by seperating with comman, colon, space... still not working.
    i read the documentation *.* will not work.. for one file format it's working fine.
    looking forward for reply as soon as possible.

    Are you positive that it is not working? I'm not sure how you can use one FTP adapter for multiple file types unless the underlying data is exactly the same format or you are processing it as opaque data. Sometimes when a FTP adapter chokes on a file with a bad structure it doesn't create a BPEL instance, it simply moves the bad file to a separate folder.
    So I assume you are using opaque as the data type instead of using an XSD element?
    That said, I don't think you can put two separate file types in the filter. Is it possible for you to do something like: CommonFileName*.* or do you have similar files with other extensions?
    I know the above probably isn't of much help, but I had so many problems with the FTP adapter and its lack of features that I am writing my own. Unfortunately that is a large undertaking and there isn't any good documentation of JCA resource adapter / BPEL PM integration.

  • BPEL Process with complex Business logic

    Hi,
    So far my knowledge,complex business logic can be implemented by different way in bpel process.
    1. Business rule
    2. ejb with java callout
    3.ADF BC as servcie
    Can anybody please suggest which approach do I need to follow,what are the pros and cons of each one,and best practices to use when and where?
    Thanx in advance.-Aswini

    Hi
    In addition to what Naresh already mentioned, you can consider these points also.
    1. If your process is complex, see if some part of the process can be common across and it can run by itself. Then you can use SubProcess concepts also. Say for example, if process involves credit card processing, it can be in a sub-process and you can call it in the main process. Like that any common approval flows can be put in a separate sub-process.
    2. I would discourage using Java invocations if possible as they have some limitations and you can use reasonable amout of code in invoking java code within the bpel process. If you have lots of validations to do on a bpel process, you can consider using CallBackHandlers and do the validation on a task assignment, submission or any task action in general.
    3. Business Rules can be used to control the actual flow of the process itself. Based on busiiness rule, you can decide if a set of tasks needs to be included or not in the approval flow. This is in addtion to the actual data that controls the business rules, that can be changed dynamically without the code change to core bpel process.
    Which version of SOA are you using or plan to use. I would recommend the latest version SOA 11.5 + Feature Pack applied.

  • How to integrate BPEL process with OSB?

    HI,
    I want to expose a web service from OSB and then after doing the initial validation of request,want the request xml to be forwarded to one of my BPEL process from where i would go for business processing with the request xml data.
    Could any one help me here, what are the steps to be followed to integrate BPEL and OSB such that i'll be able to get rquest xml from OSB and reply back the final response to OSB .OSB will respond back to external world.
    I have already exposed my webservice from OSB,but don't know how to forward this req xml to my BPEl process and finally fetch res from BPEL.

    Hi Arik,
    Thanks for Helping me out here. But my problem is when i m communicationg with the BPEl via default wsdl generated by my BPEl process, Through SAO-Direct from OSB.It's looking for binding tag in that WSDl which is not present when i created the BPEl process.
    for eg.
    In BPEl I have genarated a web service whose input and response is based on existing WSDL .This is the same WSDL which has been referred in OSB to intract with external world ( for upstream component who would be calling my web service).
    The default WSDL geneareted by this BPEl does have portType,message,partenerLincType. But it doesnot have binding tag.
    Now ,When i m trying to connect to this BPEl from OSB by creating new business service, while refering to this BPEl wsdl,It's looking for binding tag which is actually not present in default WSDL genarated by BPEL.
    So considering my explained scenario,will you plz help me, where m i going wrong and in this case what are the correct steps i should follow to fullfill me requirement.

  • How to make a simple BPEL-process with database access

    I hope somebody can help me.
    I want to make a BPEL process that get a message via MEDIATOR. That message has to update a database table.
    So far as I know : start in composite with mediator - bpel process and database adaptor.
    What have to be done in the bpel process ?
    I hope somebody can help me, Thnx, Carel

    In a nutshell -
    Create a Database Adapter in the composite.xml UI. Drag a wire from BPEL process to that db adapter you just created. Go to BPEL process (double click), use invoke activity after the initial receive activity, and drag a wire to make the connection to the partner link on the right hand side swim lane (which is your DB Adapter).
    On doing that, you will be seeing the input/output variables generated in the Invoke Activity (should be of type expected by DB adapter).
    Next - drop an assign activity between Receive and Invoke and make the transformations from the "message from the mediator" to this Input Variable (created as part of the invoke activity).
    You are good to go!
    Regards
    Swgt

  • Error in deploying BPEL Process with Embedded Java code

    Hi all,
    I am trying to do a simple sample BPEL Process which invokes a Java class.i have placed the jar file in the classpath and the Process compiles and builds in the BPELDesigner,but when deployed it shows the below error in the BPEL console.The beauty here is it show a success message in the BPEL Designer after deployment.
    <2007-07-19 05:03:07,640> <INFO> <production.collaxa.cube.compiler> validating "C:\OraHome_1\integration\orabpel\domains\production\tmp\.bpel_Employee_1.0.jar\Employee.bpel" ...
    <2007-07-19 05:03:09,187> <ERROR> <production.collaxa.cube.engine.deployment> <CubeProcessFactory::generateProcessClass>
    Process "Employee" (revision "1.0") compilation failed.
    <2007-07-19 05:03:09,187> <ERROR> <production.collaxa.cube.engine.deployment> <CubeProcessLoader::create> Failed to compile classes.
    Failed to compile the generated BPEL classes for "Employee".
    <2007-07-19 05:03:09,187> <ERROR> <production.collaxa.cube.engine.deployment> Process "Employee" (revision "1.0") load FAILED!!
    <2007-07-19 05:03:09,203> <ERROR> <production.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "domain manager": Error while loading process.
    The process domain encountered the following errors while loading the process "Employee" (revision "1.0"): Failed to compile classes.
    Failed to compile the generated BPEL classes for "Employee".
    If you have installed a patch to the server, please check that the bpelcClasspath domain property includes the patch classes.
    ORABPEL-05215
    Error while loading process.
    The process domain encountered the following errors while loading the process "Employee" (revision "1.0"): Failed to compile classes.
    Failed to compile the generated BPEL classes for "Employee".
    If you have installed a patch to the server, please check that the bpelcClasspath domain property includes the patch classes.
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.bind(CubeProcessHolder.java:1269)
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.loadAndBind(CubeProcessHolder.java:882)
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.loadArchive(CubeProcessHolder.java:824)
         at com.collaxa.cube.engine.CubeEngine.loadProcessArchive(CubeEngine.java:939)
         at com.collaxa.cube.ejb.impl.BPELDomainManagerBean.loadProcessArchive(BPELDomainManagerBean.java:390)
         at IBPELDomainManagerBean_StatelessSessionBeanWrapper34.loadProcessArchive(IBPELDomainManagerBean_StatelessSessionBeanWrapper34.java:2157)
         at com.collaxa.cube.engine.deployment.CubeProcessMonitorWork.run(CubeProcessMonitorWork.java:130)
         at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
         at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:267)
         at java.lang.Thread.run(Thread.java:534)
    <2007-07-19 05:03:09,234> <ERROR> <production.collaxa.cube.engine.deployment> <CubeProcessMonitorWork::run> Error while loading process archive C:\OraHome_1\integration\orabpel\domains\production\deploy\bpel_Employee_1.0.jar
    ORABPEL-05215
    Error while loading process.
    The process domain encountered the following errors while loading the process "Employee" (revision "1.0"): Failed to compile classes.
    Failed to compile the generated BPEL classes for "Employee".
    If you have installed a patch to the server, please check that the bpelcClasspath domain property includes the patch classes.
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.bind(CubeProcessHolder.java:1269)
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.loadAndBind(CubeProcessHolder.java:882)
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.loadArchive(CubeProcessHolder.java:824)
         at com.collaxa.cube.engine.CubeEngine.loadProcessArchive(CubeEngine.java:939)
         at com.collaxa.cube.ejb.impl.BPELDomainManagerBean.loadProcessArchive(BPELDomainManagerBean.java:390)
         at IBPELDomainManagerBean_StatelessSessionBeanWrapper34.loadProcessArchive(IBPELDomainManagerBean_StatelessSessionBeanWrapper34.java:2157)
         at com.collaxa.cube.engine.deployment.CubeProcessMonitorWork.run(CubeProcessMonitorWork.java:130)
         at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
         at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:267)
         at java.lang.Thread.run(Thread.java:534)
    Your sugegstions are appreciated..
    Plzz help...
    Regards
    Subramanian

    Hi all..
    Thanks for ur response,but still my problem is not solved...
    Below is the BPEL file and the java class (which isinvoked from the process)
    BPEL FILE
    <!-- Employee -->
    <process name="BusinessTravelProcess" targetNamespace="http://packtpub.com/bpel/travel/" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:emp="http://packtpub.com/service/employee/" xmlns:bpelx="http://schemas.oracle.com/bpel/extension">
    <bpelx:exec import="org.w3c.dom.Element"/>
    <bpelx:exec import="com.packtpub.EmployeeStatus"/>
    <partnerLinks>
    <partnerLink name="employeeTravelStatus" partnerLinkType="emp:employeeLT" myRole="employeeTravelStatusService"/>
    </partnerLinks>
    <variables><!-- input for this process -->
    <variable name="EmployeeTravelStatusRequest" messageType="emp:EmployeeTravelStatusRequestMessage"/><!-- output from the Employee Travel Status web service -->
    <variable name="EmployeeTravelStatusResponse" messageType="emp:EmployeeTravelStatusResponseMessage"/>
    </variables>
    <sequence><!-- Receive the initial request for business travel from client -->
    <receive partnerLink="employeeTravelStatus" portType="emp:EmployeeTravelStatusPT" operation="EmployeeTravelStatus" variable="EmployeeTravelStatusRequest" createInstance="yes"/><!-- Prepare the output -->
    <assign>
    <copy>
    <from>
    <travelClass xmlns="http://packtpub.com/service/employee/">Economy
    </travelClass>
    </from>
    <to variable="EmployeeTravelStatusResponse" part="travelClass"/>
    </copy>
    </assign><!-- Invoke the EmployeeStatus Java class instead of web service -->
    <bpelx:exec name="Java_Embedding_1" language="Java" version="1.4"><![CDATA[
    EmployeeStatus e = new EmployeeStatus();
    String firstName = ((Element)getVariableData(
    "EmployeeTravelStatusRequest", "employee",
    "/employee/FirstName")).getNodeValue();
    String lastName = ((Element)getVariableData(
    "EmployeeTravelStatusRequest", "employee",
    "/employee/LastName")).getNodeValue();
    String empStatus = e.getTravelStatus(firstName, lastName);
    addAuditTrailEntry("Employee status is: " + empStatus);
    setVariableData("EmployeeTravelStatusResponse", "travelClass",
    "/travelClass", empStatus);]]>
    </bpelx:exec>
    <reply partnerLink="employeeTravelStatus" portType="emp:EmployeeTravelStatusPT" operation="EmployeeTravelStatus" variable="EmployeeTravelStatusResponse"/>
    </sequence>
    </process>
    Java File:
    package com.packtpub;
    public class EmployeeStatus {
    public String getTravelStatus (String firstName, String lastName) {
    return "Economy";
    }

Maybe you are looking for