Dynamic copy operation in BPEL process

Hi.
I wan to create a Copy Operation which would copy a specific part of the input XML depending on what is the name of activity.
So for example
I have a invoke activity - "thisIsTheActivityName"
I want to get the name of the activity - put it in the XML, send it to 2nd process... and that process would check if he has the "thisIsTheActivityName" part in his XML : for example
<nothing />
<stillnothing />
<thisIsTheActivityName title="thisoneshouldbesent" />
<againnothing />
and if "thisIsTheActivityName" part is found the 2nd process would reply to the original process with part only.
Any one has any clues ?
Thanks in advance

Hi Shankari,
apart of using the the config plan you can change the endpoint uri in runtime if you define the property "endpointURI" in your composite
<binding.ws port="http://xmlns.oracle.com/bpel/workflow/taskService#wsdl.endpoint(TaskService/TaskServicePortSAML)"
location="http://localhost:7001/integration/services/TaskService/TaskServicePortSAML?ORAWSDL"
soapVersion="1.1">
<property name="weblogic.wsee.wsat.transaction.flowOption"
type="xs:string" many="false">WSDLDriven</property>
<property name="endpointURI"
type="xs:string" >http://localhost:7001/integration/services/TaskService/TaskServicePort</property>
</binding.ws>
then right click your composite in the enterprise manager and go to "Service/Reference Properties". There you can change the endpointURI property.
You can also change the endpointURI inside your BPEL process. Go to the invoke inside the bpel process and go to the "properties" tab. There search for the property "endpointURI" and set a value.
hope this helps
cheers Nicolas

Similar Messages

  • Why we use Dynamic Partner Link in BPEL process

    hi,
    What is the purpose of using Dynamic Partner link in BPEL process ?

    Hi Shankari,
    apart of using the the config plan you can change the endpoint uri in runtime if you define the property "endpointURI" in your composite
    <binding.ws port="http://xmlns.oracle.com/bpel/workflow/taskService#wsdl.endpoint(TaskService/TaskServicePortSAML)"
    location="http://localhost:7001/integration/services/TaskService/TaskServicePortSAML?ORAWSDL"
    soapVersion="1.1">
    <property name="weblogic.wsee.wsat.transaction.flowOption"
    type="xs:string" many="false">WSDLDriven</property>
    <property name="endpointURI"
    type="xs:string" >http://localhost:7001/integration/services/TaskService/TaskServicePort</property>
    </binding.ws>
    then right click your composite in the enterprise manager and go to "Service/Reference Properties". There you can change the endpointURI property.
    You can also change the endpointURI inside your BPEL process. Go to the invoke inside the bpel process and go to the "properties" tab. There search for the property "endpointURI" and set a value.
    hope this helps
    cheers Nicolas

  • Error implementing dynamic callback from BPEL process

    Hi,
    I am trying to use dynamic callback from a BPEL process..
    Created a variable of type EndpointReference by importing the ws-addressing.xsd. in the partnerlink wsdl..
    I assigned the URL to the variable's address field ...
    <copy>
    <from expression="'http://172.31.171.123:8888/PubSubWLPOC-CallbackSvc2-context-root/EIPWFServiceCallbackPort'"/>
    <to variable="ep_var" query="/ns3:EndpointReference/ns3:Address"/>
    </copy>
    Gives no error till now...
    But when I try to assign the same variable to the partnerlink, I get an error..
    <assign name="Assign_7">
    <copy>
    <from variable="ep_var"/>
    <to partnerLink="MyWebService1"/>
    </copy>
    </assign>
    The error is like this(from the $SOA_HOME\bpel\domains\default\logs) :-
    java.lang.NullPointerException
    at com.collaxa.cube.engine.types.bpel.CXPartnerLink.copy(CXPartnerLink.java:246)
    at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.performCopyTo(BPELAssignWMP.java:1151)
    at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.__executeStatements(BPELAssignWMP.java:215)
    at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:199)
    at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3698)
    at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1655)
    at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:217)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:314)
    at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5765)
    at com.collaxa.cube.engine.CubeEngine.callbackPerformer(CubeEngine.java:1885)
    at com.collaxa.cube.engine.delivery.DeliveryHelper.callbackPerformer(DeliveryHelper.java:845)
    at com.collaxa.cube.engine.delivery.DeliveryService.handleCallback(DeliveryService.java:794)
    at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleCallback(CubeDeliveryBean.java:378)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    The confusing part is when I use xml fragment instead of the variable ep_var, it works fine ...
    But I cannot use the same as the callback can be made to any url(which is decided on runtime)
    Can someone pls help me with this ?
    saptarishi

    Hi,
    I have done following for dynamic call back and it works..
    <copy>
    <from>
    <_EndpointReference xmlns="http://schemas.xmlsoap.org/ws/2003/03/addressing">
    <Address/>
    </EndpointReference>
    </from>
    <to variable="EndpointUrl"/>
    </copy>
    <copy>
    In the above assignment from part is an xml fragment assigned to Endpoint Url
    <copy>
    <from expression="'http://172.31.171.123:8888/PubSubWLPOC-CallbackSvc2-context-root/EIPWFServiceCallbackPort'"/>
    <to variable="ep_var" query="/ns3:EndpointReference/ns3:Address"/>
    </copy>
    </copy>
    <copy>
    <from variable="EndpointUrl"/>
    <to partnerLink="SFDC_plt"/>
    </copy>

  • Dynamic addressing in Empty BPEL

    hi
    I am trying to implement dynamic addressing in Empty BPEL(because my BPEL gets input from JMS queue so there is no requirement of Client)
    But without the client partner link(which BPEL generates in case of syn or async BPEL) i am not able to implement dynamic addressing.
    While transform activity it doesn't recognize the variable which is of ws-addressing.xsd type
    it gives the error "information about variable can not be reached"
    Please suggest something.
    Thanks in advance

    But, why would you need dynamic addressing in empty bpel process ?
    Cheers,
    AR

  • Invoke BPEL process and display result in BAM chart?

    Hi,
    I was wondering if there is any way to invoke a BPEL process and display the result back in BAM chart (Active Studio).
    I have in mind the Actionable Reports and getting the BPEl process populate the BAM Data Object to show the result back. Let me know if there's anything to connect these ideas to do the whole thing.
    The reason for this requirement is to have a single User Interface for having BAM charts and a query operation (synchronous BPEL process).
    Any inputs are welcome.
    Thanks in advance.
    Vikas

    Yes, this can be done with the help of Alert and setting up a external Action.
    Please refer the following document for more details.
    http://www.oracle.com/technology/products/integration/bam/10.1.3/TechNotes/TechNote_BAM_CallingExternal_WebServices.pdf
    regards
    Laj

  • How to use multiple WSDL operations in One BPEL process Recieve Activity ?

    Is there anyway to attach multiple WSDL operations with a Single BPEL process ? How ?

    Thanks Melvin for your quick respond.
    When I create a BPEL process, It asks me to give the XSD as an Input. When I import the XSD it asks me to select an operation not more than one. Let suppose I select addRequest and finish the wizard.
    Now what I can see, It create Recieve activity with an Input msg of Add operation. Well what I understand from your statement is that, I remove the recieve activity and put the Pick activity.
    Now my question is How to mention the other operations like update and delete ? And how to test them ?? The link provided by you is just tell me what Pick activity can do for me, But its not telling me how to use it ?? and how the give the operation to it. Where should I need to change in the BPEL ???

  • TNS:Operation Timed Out error while trying to invoke BPEL Process from sql

    Hi,
    I am trying to invoke a BPEL Process from PL/sql code. When i try to invoke the process, I am getting the following error message
    ORA-29273 HTTP Request Failed
    ORA:06512: at SYS.UTH_HTTP at line 1029
    ORA:12535: TNS:Operation Timed Out
    ORA:06512: at line 18
    I have the SOA suite installed on my local machine...and the BPEL process that i am trying to invoke is deployed their.
    Any idea what could be wrong..following is the code piece
    soap_request:='<?xml version="1.0" encoding="UTF-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header/>
    <soap:Body xmlns:ns1="http://xmlns.oracle.com/Test">
    <ns1:TesProcessRequest><ns1:input>is1_1land</ns1:input></ns1:TesProcessRequest>
    </soap:Body>
    </soap:Envelope>';
    dbms_output.put_line('soap_request: '||soap_request);
    utl_http.set_proxy('3.209.30.25:80', '3.209.32.149:8888');
    http_req:= utl_http.begin_request('http://3.209.32.149:8888/orabpel/default/Tes/1.0 '
                   ,'POST'
                                  ,'HTTP/1.1');
    dbms_output.put_line('after Begin Request' );
    utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
    Please advise

    you are right the file adapter doesnt invoke any bpel
    process, instead it is polling the file from
    directory location?If it is polling for new files, shouldn't it create a new instance of the BPEL process automatically the moment it finds a new file? In other words, should a new file trigger an instance of the BPEL process rather than being started from PL/SQL?
    Can this file adapter not be invoked as bpel process
    in that case?The file adapter is part of a BPEL process. The BPEL process can be invoked from e.g. PL/SQL.
    In this case this file adapeter return to an RECEIVE
    activity...I think this receive cannot be invoked as
    a BPEL process rite?Can you explain what you mean with this?
    Also , will all synchronous request return "TIMEOUT"
    error, if tried to invoke from pl/sql?Only if the synchronous process instance takes more time to complete (and thus to return) than the value specified for a time-out to occur. If the instance completes in for example 10 ms and the time-out time is specified as 30 seconds, no time-out will occur.
    Regards, Ronald

  • How to assign a parent or child process to BPEL process Dynamically

    Hi friends,
    root_id (varchar) - the conversation id of the instance at the top of the invocation tree. Suppose A -> B -> C, root( B ) = A, root( C ) = A, parent( B )= A, parent( C ) = B. This instance, instance at the top of the tree will not have this set. There will be relation between ROOT_ID, PARENT_ID and CIKEY in the cube_ instance at dehydration data base.
    Here I want to assign root_id or parent_id dynamically to my bpel process dynamically. Let me know if anybody knows about that.
    Thanks in advance...
    Hari Mandadapu

    Hi,
    I'm more puzzled as to why you would want to do this? As you have explained these columns provide details of the process tree. Why would you want to alter the values set by BPEL there by changing the process tree it created?

  • Multiple BPEL processes as operations in the same port type

    Dear Oracle BPEL experts,
    Is it possible to deploy several BPEL processes that are initiated through different operations in the same PortType?
    (I am using Oracle BPEL Process Manager Console v10.1.2.0.2 and Oracle JDeveloper v10.1.2.1.0, Build 1915).
    Thanks in advance,
    M. Quijada

    Yea, I understand. But you can do that in BPEL. You tried to do that in the suitcase, but you have to do it in the WSDL. The multiple operations you need are specified in the WSDL, all using the same porttype.
    I've done that several times, and my suitcase looks like:
    <partnerLinkBindings>
    <partnerLinkBinding name="client">
    <property name="wsdlLocation">myService.wsdl</property>
    </partnerLinkBinding>
    </partnerLinkBindings>
    The multiple messageset is defined in my WSDL:
    <portType name="myService">
    <operation name="initiate">
    <input message="client:myServiceRequestMessage"/>
    </operation>
    <operation name="optimize">
    <input message="client:myServiceOptimizeMessage"/>
    </operation>
    <operation name="register">
    <input message="client:myServiceRegisterMessage"/>
    </operation>
    </portType>
    <portType name="myServiceCallback">
    <operation name="onResult">
    <input message="client:myServiceResponseMessage"/>
    </operation>
    <operation name="onComplete">
    <input message="client:myServiceCompleteMessage"/>
    </operation>
    <operation name="onError">
    <input message="client:myServiceErrorMessage"/>
    </operation>
    </portType>
    <plnk:partnerLinkType name="myService">
    <plnk:role name="myServiceProvider">
    <plnk:portType name="client:myService"/>
    </plnk:role>
    <plnk:role name="myServiceRequester">
    <plnk:portType name="client:myServiceCallback"/>
    </plnk:role>
    </plnk:partnerLinkType>
    Hope this helps. Otherwise send me an email and I'll send you my (working) example.
    Mike.van.Alst#AT#it-eye.nl (replace with @)

  • Generating dynamic Attachments between bpel process activities

    Dear Experts,
    Please suggest me that how to handle dynamic attachments in BPEL process with JDeveloper.
    The requirement was need to send an attachment between activities in same BPEL process
    and not sending an attachment through mail.
    For Instance consider a scenario "Need to issue an appointment order(Activity3) for the candidate if he successfully completed his assigned task(Activity1) and selected(Activity2)".
    Thanks ,
    Rajesh
    Edited by: Rajesh A on Mar 9, 2009 11:30 AM

    Hi Rajesh,
    That's a nice requirement without using the Notification services to send the attachments.
    However, this can be achieved using the workflow service tasks as mentioned in : http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/workflow.htm#BABCAIEF
    Using this you can assign, play with attachments via tasks. Hope this helps to some extent!
    Regards
    Anirudh Pucha

  • Invoking BPEL process: how to decide it's two way or one way operation

    Hi,
    I'm using IDeliveryService to invoke BPEL process. Is there API available that allows me to check whether the operation is two way so I call IDeliveryService.request() or is one way so I call IDeliveryService.post()?
    Thanks,
    Qian

    hi,
    By observing WSDL of the BPEL process you can identify that whether its
    two way operation or one way. If operation has two variables - both input & output
    then its way operation and if the opration has only one variable - input variable then
    its one way operation.
    OR are you asking how to check it at runtime without looking at the WSDL...?
    /mishit

  • Copy and Modify the BPEL Process

    Does anyone know a good way of copying a BPEL process and modifying it? For example, copy the BPEL_ProcessA and rename it to BPEL_ProcessB and then customizing the BPEL_ProcessB.

    Hmm, not enough Clemens.
    Easiest way to copy:
    1. make new BPEL project with the desired name
    2. close JDeveloper
    3. delete all files from the new directory
    4. copy source files to new directory (without <output.dir> and <CVS.dir>)
    5. Search & Replace all files for <Process_A> and replace with <Process_B>
    This includes: .BPEL, .XML (especially with Usertask), .XSL (has references to proces_a)6. Rename all files that have <Process_A> in them:
    a. when using transforms: rename the xsl
    b. when using usertask: rename the taskConfig<ProcessA>.xml, taskConfig<ProcessA>WFFields.xml
    Changing the internal references to <ProcessA> can be done with a tool like Search & Replace.

  • Creating a dynamic variable in bpel process

    hi
    I have a requirement i.e. how to create a dynamic variable in bpel process?
    Help me out with this....thanks.

    Open your bpel and look for and icon that looks like this... (x)
    http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_gsbpel.htm#CIADACJJ

  • How to evaluate dynamic XPath expression in BPEL?

    I have an xml file where I keep many settings for my BPEL process. At runtime, I read the file and I want to select values from it based on values in the process payload.
    For example, imagine that the process payload is an order:
    <order>
    <header>
    <id/>
    <customer_id/>
    <team_id/>
    </header>
    <items>
    <item>
    <id/>
    <sku/>
    <price/>
    <quantity/>
    </item>
    </items>
    </order>
    Now, in my xml settings file, I have a section where I keep a mapping of "team_id" and "assignment_group", so that for each team id, I can select the appropriate group to whom a task should be assigned. The relevant section of the settings file will look something like this:
    <assignment_groups>
    <group team_id='0923230'>invoice_approvers</group>
    <group team_id='3094303'>order_approvers</group>
    <group team_id='3434355'>shipping_approvers</group>
    </assignment_groups>
    So, imagine I get an order input to my process where the team_id is '3094303'. Now I have to lookup the correct assignment group in my settings file.
    So, I construct the dynamic XPath expression
    /settings/assignment_groups/group[@team_id=3094303]
    I know that this would evaluate to "order_approvers". However, even though I have the XPath expression in a BPEL variable, and I have my settings file as a BPEL variable also, I don't know how to execute the XPath expression against the settings BPEL variable to retrieve the correct value.
    Any ideas appreciated.
    Thanks,
    Jack

    James:
    Thank you for the response. Incidentally, this is the very same document and section that I have been looking at for guidance. Specifically, the section titled "Dynamically indexing by Constructing an XPath at Run Time" on page 12-13.
    I tried to do something similar to the example at the top of page 13:
    <variable name="iterator" type="xsd:integer"/>
    <assign>
    <copy>
    <from expression="concat('/invoice/line-item[',bpws:getVariableData('iterator'), ']/line-total')"/>
    <to variable="xpath"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('input', 'payload',bpws:getVariableData('xpath')) + ..."/>
    </copy>
    </assign>
    I am able to achieve the first copy operation to get my dynamic XPath into a BPEL variable and that's fairly straightforward. But I am unable to get the second copy to work. Specifically, I am not sure what to put in the second argument of the bpws:getVariableData function. I have tried many different combinations, but when I try to compile my program, I get the following compilation error:
    Error:
    [Error ORABPEL-10902]: compilation failed
    [Description]: in "C:\code\TrainingWS\SampleGetSettings\bpel\SampleGetSettings.bpel", XML parsing failed because "org.collaxa.thirdparty.jaxen.expr.DefaultFunctionCallExpr".
    [Potential fix]: n/a.
    Thanks,
    Jack

  • 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

  • Connection Pool Failure: "No suitable driver"

    Hi, Upon server startup, I get the following result: <Nov 7, 2001 4:18:32 PM CST> <Error> <JDBC> <Cannot startup connection pool "ora cleTrufflePool" No suitable driver> I assumed it was a path problem, but in the startWebLogic.cmd script I've set th

  • Help needed in OIM

    Hi.. In OIM the system administrator can change a users password if the user forgets the password as well as the security questions. But the system administrator will know the password of the user until the user changes his password. My requirement i

  • My Apple TV is displaying a rapidly flashing light.

    The guide says this indicates it is "having problems."  This occured after I reset it.  The iTunes logo and a USB cord appeared on the display.  What do I do?

  • Message type from Logical system

    Dear All, I need develop an inbound where the info is coming from HR system. I found Message Type HRMD_A can be utilized for the development, however im not so sure if the message type HRMD_A is originally exist in my R/3 4.7 or it was being distribu

  • Should I spend many hours in Illustrator puting objects on many separate layers before importing?

    Very complex overlapping of objects in this project. My adobe Illustrator art has many hundreds of objects on only about 5 layers. When I imported into Flash I can only get to individual objects by breaking apart the layers. The art is very complicat