Want to get request number to BPEL process in an interval

Hi All,
I have two applications A and B.I need to receive request message from A to B through BPEL process. BPEL process receives the request data(through schema- Source of transform activity) from A and updates that data into B(Target -request schema of B).BPEL process is the middleware between two applications
My requirement is :
I want to analize request data in an interval of 24 hours. I have one parameter('sequence') in the request schema of B which has to indicate the request number to BPEL process.
Clear explanation to requirement details:
Application A starts pushing data at 12 'o clock(0:00 hrs midnight) and then parameter 'sequence' should be integer 1 or 0.Like that 'Sequence' should be increased by 1 for every request to BPEL process.
I want the sequence values like below(for 24 hrs cycle):
First request :
Reuqest push time - 0:00 hrs
Sequence - 1
BPEL process instance(which will be created automaically in EM console) - Instance1
Second Request :
Reuqest push time - 1:30 hrs
Sequence - 2
BPEL process instance(which will be created automaically in EM console) - Instance2
1
Third Request:
Reuqest push time - 4:00 hrs
Sequence - 3
BPEL process instance(which will be created automaically in EM console) - Instance3
Like that
last request in 24 hrs cycle should be :
Reuqest push time - 23:00 hrs
Sequence - Some number according to number of requests at that time.
After 24 hrs ,Sequence again should become as 1 to indicate the starting point of the 24 hrs next day.(like data in above table)
Can you help me in this regard? I am using transform activity in which I have 'sequence' parameter .
Thanks in advance
Edited by: 899283 on Aug 25, 2012 7:16 AM

Create a "While" activity.
Create a variable named seq of type int.
In the while condition check the current time.
xp20:current-time() < <counter reset time>
Create a pick activity to receive the message inside while loop.
Create assign activity in the while loop. Assign the value of variable seq to the payload and increment it by one.
Outside while loop , reset seq back to 0 by using another assign activity.
In case the composite has to run continuously after first submission, use another outer while loop to check the condition while seq = 0.
Hope it helps.
Regards.

Similar Messages

  • Relating a Request Number with its Process chain

    Hi experts!
    Do you know if there is anyway (with tables) of relating a "Request number" with its Process chain?
    Thank you very much in advance!

    Hello
    I guess there is no direct way, but you can get it by following:
    1) From table RSREQDONE, you can get infopak name by giving a request no.
    2) Then from table RSPCCHAIN, For Type = 'LOADING', VARIANTE field give the Infopackage name and it will give u the PC.
    Regards,
    Shashank

  • Implementation of one request, multiple responses bpel processes

    Need info on how to build a one request, multiple responses bpel processes. The following URL discusses the link
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/bp_interact.htm#SOASE534
    Book: Oracle® Fusion Middleware Developer's Guide for Oracle SOA Suite 11g Release 1 (11.1.1)
    Chapter 5: Introduction to Interaction Patterns in a BPEL Process (section 5.6).
    Are two projects required? is one a partner link to the other?
    There are several different types of links discussed but minimal/no discussion on their implementation.
    Thanks for the help - Casey

    Hi,
    the BPEL forum is here: BPEL
    Frank

  • Aperture trash is not displaying items in trash.  I want to get a number items out of trash.  How do I get them displayed or is there another  way  to put them back in the file?

    Aperture trash is not displaying items in trash.  I want to get a number items out of trash.  How do I get them displayed or is there another  way  to put them back in the file?

    See Why can't I see my deleted photos in Trash?

  • Getting while running the BPEL process from java

    Hi All,
    We are using the following java code to run the BPM process.
    package callBPMProcess;
    import java.util.Hashtable;
    import java.util.UUID;
    import java.util.List;
    import javax.naming.Context;
    import oracle.soa.management.facade.Locator;
    import oracle.soa.management.facade.LocatorFactory;
    import oracle.soa.management.facade.Composite;
    import oracle.soa.management.facade.Service;
    import oracle.soa.management.facade.CompositeInstance;
    import oracle.soa.management.facade.ComponentInstance;
    import oracle.fabric.common.NormalizedMessage;
    import oracle.fabric.common.NormalizedMessageImpl;
    import oracle.soa.management.util.CompositeInstanceFilter;
    import oracle.soa.management.util.ComponentInstanceFilter;
    import java.util.Map;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    import org.w3c.dom.Element;
    import java.io.*;
    public class StartProcess { 
    public StartProcess() { 
    super();
    Hashtable jndiProps = new Hashtable();
    jndiProps.put(Context.PROVIDER_URL, "http://ytytry.4234434.com:7001/soa-infra");
    jndiProps.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    jndiProps.put(Context.SECURITY_PRINCIPAL, "weblogic");
    jndiProps.put(Context.SECURITY_CREDENTIALS, "funnyj0ke");
    jndiProps.put("dedicated.connection", "true");
    String inputPayload =
    "<process xmlns=\"http://xmlns.oracle.com/HelloWorld/Helloworld/BPELProcess1\">\n" +
    " <input>hello</input>\n" +
    "</process>\n" ;
    Locator locator = null;
    try { 
    // connect to the soa server
    locator = LocatorFactory.createLocator(jndiProps);
    String compositeDN = "default/Helloworld!1.0";
    // find composite
    Composite composite = locator.lookupComposite("default/Helloworld!1.0");
    System.out.println("Got Composite : "+ composite.toString());
    // find exposed service of the composite
    Service service = composite.getService("bpelprocess1_client_ep2");
    System.out.println("Got serviceName : "+ service.toString());
    // make the input request and add this to a operation of the service
    NormalizedMessage input = new NormalizedMessageImpl();
    String uuid = "uuid:" + UUID.randomUUID();
    input.addProperty(NormalizedMessage.PROPERTY_CONVERSATION_ID,uuid);
    // payload is the partname of the process operation
    input.getPayload().put("payload",inputPayload);
    // process is the operation of the employee service
    NormalizedMessage res = null;
    try { 
    res = service.request("process", input);
    } catch(Exception e) { 
    e.printStackTrace();
    Map payload = res.getPayload();
    Element element = (Element)payload.get("payload");
    TransformerFactory tFactory = TransformerFactory.newInstance();
    Transformer transformer = tFactory.newTransformer();
    transformer.setOutputProperty("indent", "yes");
    StringWriter sw = new StringWriter();
    StreamResult result = new StreamResult(sw);
    DOMSource source = new DOMSource(element);
    transformer.transform(source, result);
    System.out.println("Result\n"+sw.toString());
    System.out.println("instances");
    CompositeInstanceFilter filter = new CompositeInstanceFilter();
    filter.setMinCreationDate(new java.util.Date((System.currentTimeMillis() - 2000000)));
    // get composite instances by filter ..
    List<CompositeInstance> obInstances = composite.getInstances(filter);
    // for each of the returned composite instances..
    for (CompositeInstance instance : obInstances) { 
    System.out.println(" DN: " + instance.getCompositeDN() +
    " Instance: " + instance.getId() +
    " creation-date: " + instance.getCreationDate() +
    " state (" + instance.getState() + "): " + getStateAsString(instance.getState())
    // setup a component filter
    ComponentInstanceFilter cInstanceFilter = new ComponentInstanceFilter();
    // get child component instances ..
    List<ComponentInstance> childComponentInstances = instance.getChildComponentInstances(cInstanceFilter);
    // for each child component instance (e.g. a bpel process)
    for (ComponentInstance cInstance : childComponentInstances) { 
    System.out.println(" -> componentinstance: " + cInstance.getComponentName() +
    " type: " + cInstance.getServiceEngine().getEngineType() +
    " state: " +getStateAsString(cInstance.getState()) 
    System.out.println("State: "+cInstance.getNormalizedStateAsString() );
    } catch (Exception e) { 
    e.printStackTrace();
    private String getStateAsString(int state)
    // note that this is dependent on wheter the composite state is captured or not
    if (state == CompositeInstance.STATE_COMPLETED_SUCCESSFULLY)
    return ("success");
    else if (state == CompositeInstance.STATE_FAULTED)
    return ("faulted");
    else if (state == CompositeInstance.STATE_RECOVERY_REQUIRED)
    return ("recovery required");
    else if (state == CompositeInstance.STATE_RUNNING)
    return ("running");
    else if (state == CompositeInstance.STATE_STALE)
    return ("stale");
    else
    return ("unknown");
    public static void main(String[] args) { 
    StartProcess startUnitProcess = new StartProcess();
    But we getting the fallowing error.Can some body help out us.
    SEVERE: Failed to create a DirectConnectionFactory instance (oracle.soa.api.JNDIDirectConnectionFactory): oracle.soa.api.JNDIDirectConnectionFactory
    javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
         at javax.naming.InitialContext.init(InitialContext.java:223)
         at javax.naming.InitialContext.<init>(InitialContext.java:197)
         at oracle.soa.management.internal.ejb.EJBLocatorImpl.<init>(EJBLocatorImpl.java:166)
         at oracle.soa.management.facade.LocatorFactory.createLocator(LocatorFactory.java:35)
         at callBPMProcess.StartProcess.<init>(StartProcess.java:53)
         at callBPMProcess.StartProcess.main(StartProcess.java:152)
    Caused by: java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory
         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:247)
         at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
         ... 7 more
    Process exited with exit code 0.
    Thanks in advanced,
    Narasimha.
    Edited by: parker on Mar 27, 2011 11:55 PM

    Looks like you don't have WebLogic classes on the classpath:
    javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]
    Other options for creating an instance are to use a web service call or one of the other adapters (e.g. JMS). If you need to directly start a process you might also look at this blog from the ATeam:
    http://redstack.wordpress.com/worklist/
    The specific example for getting the tasks is at: http://redstack.wordpress.com/2011/03/09/implementing-task-initiation/
    Then the real work of creating an instance from the initiator tasks is at: http://redstack.wordpress.com/2011/03/09/creating-the-domain-layer-for-the-worklist/

  • Unable to get callback from Asynchronous BPEL process to work (AXIS Client)

    Hello,
    I am calling an Asynchronous BPEL process from an AXIS client, and I am unable to get the callback functionality to work. The AXIS client code has been generated from WSDL2Java using the BPEL process' WSDL file.
    I CAN insert an invoke node in the BPEL process and invoke my Callback web service using that, but obviously that means the BPEL process is limited to only responding to one pre-determined client, which won't work.
    My questions:
    - How does the BPEL process know what endpoint to use to make the callback?
    - Do I need to modify the generated code to create a SOAP Envelope and invoke the process with the envelope, intead of the invokeOneWay call?
    - If I do need to create a SOAP Envelope with a replyto element, what is the structure of a typical BPEL envelope? Is there an example somewhere?
    I have looked at the examples in the interop directory, specifically the AXIS calling Async BPEL, but I would like to try to keep the client code as independent as possible (I don't really want to have a dependency on the OTN library).
    Any help would be greatly appreciated!!
    Thank you.
    -Ryan

    Please have a look at the Binding in the WSDL. Axis must provide the ReplyTo and
    MessageId information there. As far as I see, this must be done by an Axis-Handler,
    because the Binding-Part in not generated by WSDL2Java.
    I was able to generate the JavaClasses by using the "WSDL2Java -a" option, but
    I still do not see how to use them in a handler and how to register the handler.
    Maybe someone can give me a hint.

  • Fault policies not getting executed for called BPEL process

    Hi,
    I am facing one issue in execution of fault policy for a called BPEL Process.
    I have two BPEL Processes - BPELProcess1 and BPELProcess2.
    We have fault-policies and fault-bindings file.
    Case1 - BPELProcess2 is synchronous :-
    BPELProcess2 throws a fault of selectionFailure.
    Now this fault is defined in fault-policies and fault policy is bound to BPELProcess2 component in fault-bindings.xml file.
    But this fault policy is NOT getting executed.
    This selectionFailure fault from BPELProcess2 goes unhandled and in BPELProcess1, invoke activity gets this unhandled fault and raises a fault "remoteFault".
    This remotefault is also defined in fault-bindings and bound to BPELProcess1 component. Here fault policy bound to BPELProcess1 is working fine.
    So problem is that for called process, fault policies are not getting executed while for calling process, they are getting executed.
    Case1 - BPELProcess2 is Asynchronous
    BPELProcess2 is asynchronous. So same situation happening here. Fault policy for BPELProcess2 is not getting executed on throwing selectionFailure.
    But now here, since BPELProcess2 is async in nature, BPELProcess1 is not getting response and it is always waiting for response which is wrong.
    So how can we use fault policies in this case?
    Please suggest.
    Thanks & Regards,
    Parshant

    So that means - only fault originating from invoke activity in BPEL can be associated with a fault policy. No other fault can be associated. Even if I throw a selectionFault from throw activity, that will not be captured. Only fault from invoke activity can be associated with a fault policy.
    Please confirm.
    Thanks,
    Edited by: 833944 on Feb 24, 2011 9:36 PM

  • Any API to get handle to Outbound BPEL process endpoint activation?

    Hi,
    we are developing both inbound and outbound BPEL processes using a custom JCA 1.5 based adapter. For the inbound BPEL process deployment/undeployment, we have the ResourceAdapter's endpointActivate() endpointDeactivate() methods called in and so we can post process, like clean up endpoints when these methods get called. Is there somethign simillar that we can use as an API to get a handle to the outbound process endpoints deactivate/activate, so that we can clean up these too, or does the oracle adapter framework internally clean these up?
    Also even though we undeploy all processes before stopping the adapter (from the bpel console), after that if we redeploy the adapter rar, from then on any new BPEL process deployment (through jdeveloper) always throws a "500 Internal Server Error". Only after restarting the SOA, then on any new deployments go through fine. This is a serious limitation for us.. Any idea why this is happening and how to resolve this?
    Thanks
    Pramodh

    Hi Pramodh,
    That's a nice requirement.
    The inbound (ActivationSpec) properties can only be set dynamically (typically via the BPEL console) if their values are bound via property values defined in bpel.xml for the particular JCA Activation Agent in question. This is fundamentally as per the JCA 1.5 design where EndpointActivation (which receives an instance of ActivationSpec) takes place when the BPEL process starts up, i.e. only once. More often than not the BPEL process will have to be bounced (Off/On) for ActivationSpec attribute changes to take effect (thereby allowing the JCA 1.5 inbound message endpoint to be restarted/reinitialized). Some adapters do look dynamically for changes to bpel.xml bound values (subscribed to via the adapter framework) and will react appropriately without the need for bumping the process (e.g. adjusting a timeout or retryCount or other secondary attribute which doesn't change the first order attributes of the endpoint, such as e.g. the database host name etc). An example of an activation property which requires the adapter to restart is the JMS adapter MessageSelector property.
    Having said that, please try using the activation agent properties set in the outbound PL and see if that works!
    Cheers
    A

  • Want to get Serial number

    I buy Adobe CS6 design standard via Credit card but I don't receive serial number of product.  I received creative cloud, but it don't help for set program.

    You need to contact Adobe Support either by chat or via phone when you have serial number and activation issues.
    Here is a link to a page with options to help make contact:
    http://www.adobe.com/support/download-install/supportinfo/

  • "Default" attribute in XML not getting populated in BPEL process

    Hi.
    I have a SOA 11g composite that listens to an inbound MQ (using JMS Adapter), which handovers the request to a BPEL process.
    In the input xml, some of the elements have "default" attribute. So, if the user doesnot populate these values in the input, it should be populated with the default values.
    But in BPEL Process when I read these values, it comes as null instead of the default value.
    Could some one help me out if there is a way to handle this?
    K.P

    Hi,
    Please check if you have some values in ZMATRL2 while data laod to CUbe.
    If yes , then run and attribute change run for ZMATRL2.
    Also check if you have daat laoded for ZMATRL2 where we have its attribute ZCMARKET values corresponding to ZMATRL2T.
    These are are probable reasons why u cannot see navigations attribute data.
    Thanks
    Mukesh

  • 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

    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

  • Passing complex object from bpel process to web service

    I have deployed my web service on apache axis.The wsdl file looks like as follows,
    <?xml version="1.0" encoding="UTF-8" ?>
    - <wsdl:definitions targetNamespace="http://bpel.jmetro.actiontech.com" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://bpel.jmetro.actiontech.com" xmlns:intf="http://bpel.jmetro.actiontech.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <wsdl:types>
    - <schema targetNamespace="http://bpel.jmetro.actiontech.com" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    - <complexType name="ADLevelBpelWS">
    - <sequence>
    <element name="adLevelStr" nillable="true" type="xsd:string" />
    <element name="id" type="xsd:int" />
    </sequence>
    </complexType>
    - <complexType name="TransResultWS">
    - <sequence>
    <element name="description" nillable="true" type="xsd:string" />
    <element name="id" type="xsd:long" />
    <element name="responseType" type="xsd:int" />
    <element name="status" type="xsd:boolean" />
    </sequence>
    </complexType>
    - <complexType name="NamespaceDataImplBpelWS">
    - <sequence>
    <element name="ADLevel" nillable="true" type="impl:ADLevelBpelWS" />
    <element name="appdataDef" nillable="true" type="apachesoap:Map" />
    <element name="description" nillable="true" type="xsd:string" />
    <element name="name" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    - <complexType name="CreateSharedNamespaceBpelWS">
    - <sequence>
    <element name="actor" nillable="true" type="xsd:string" />
    <element name="comment" nillable="true" type="xsd:string" />
    <element name="from" nillable="true" type="xsd:string" />
    <element name="namespaceData" nillable="true" type="impl:NamespaceDataImplBpelWS" />
    <element name="priority" type="xsd:int" />
    <element name="processAtTime" nillable="true" type="xsd:dateTime" />
    <element name="replyTo" nillable="true" type="xsd:string" />
    <element name="responseRequired" type="xsd:boolean" />
    </sequence>
    </complexType>
    </schema>
    - <schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    - <complexType name="mapItem">
    - <sequence>
    <element name="key" nillable="true" type="xsd:string" />
    <element name="value" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    - <complexType name="Map">
    - <sequence>
    <element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem" />
    </sequence>
    </complexType>
    </schema>
    </wsdl:types>
    + <wsdl:message name="createNamespaceRequest">
    <wsdl:part name="createNs" type="impl:CreateSharedNamespaceBpelWS" />
    </wsdl:message>
    - <wsdl:message name="createNamespaceResponse">
    <wsdl:part name="createNamespaceReturn" type="impl:TransResultWS" />
    </wsdl:message>
    - <wsdl:portType name="JMetroWebService">
    - <wsdl:operation name="createNamespace" parameterOrder="createNs">
    <wsdl:input message="impl:createNamespaceRequest" name="createNamespaceRequest" />
    <wsdl:output message="impl:createNamespaceResponse" name="createNamespaceResponse" />
    </wsdl:operation>
    </wsdl:portType>
    - <wsdl:binding name="NAMESPACEWITHMAPSoapBinding" type="impl:JMetroWebService">
    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="createNamespace">
    <wsdlsoap:operation soapAction="" />
    - <wsdl:input name="createNamespaceRequest">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://bpel.jmetro.actiontech.com" use="encoded" />
    </wsdl:input>
    - <wsdl:output name="createNamespaceResponse">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://bpel.jmetro.actiontech.com" use="encoded" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    - <wsdl:service name="JMetroWebServiceService">
    - <wsdl:port binding="impl:NAMESPACEWITHMAPSoapBinding" name="NAMESPACEWITHMAP">
    <wsdlsoap:address location="http://localhost:7001/axis/services/NAMESPACEWITHMAP" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    My NamespaceDataObjectImplBpelWS object contains element appDataDef which is of type java.util.Map.My bpel wsdl file is as below,
    <?xml version="1.0"?>
    <definitions name="NsWithMap"
    targetNamespace="http://bpel.jmetro.actiontech.com"
    xmlns:tns="http://bpel.jmetro.actiontech.com"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    >
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    TYPE DEFINITION - List of services participating in this BPEL process
    The default output of the BPEL designer uses strings as input and
    output to the BPEL Process. But you can define or import any XML
    Schema type and us them as part of the message types.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <types>
         <schema targetNamespace="http://bpel.jmetro.actiontech.com" xmlns="http://www.w3.org/2001/XMLSchema">
         <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
              <element name="createNamespace" type="tns:CreateSharedNamespaceBpelWS"/>
              <element name="transResult" type="tns:TransResultWS"/>
              <complexType name="TransResultWS">
                   <sequence>
                        <element name="description" type="string" />
                        <element name="id" type="long" />
                        <element name="responseType" type="int" />
                        <element name="status" type="boolean" />
              </sequence>
              </complexType>
              <complexType name="ADLevelBpelWS">
                   <sequence>
                        <element name="adLevelStr" type="string" />
                        <element name="id" type="int" />
                   </sequence>
              </complexType>
              <complexType name="NamespaceDataImplBpelWS">
                   <sequence>
                        <element name="ADLevel" type="tns:ADLevelBpelWS" />
                        <element name="description" type="string" />
                        <element name="name" type="string" />
                        <element name="appdataDef" type="apachesoap:Map" />
                   </sequence>
              </complexType>
              <complexType name="CreateSharedNamespaceBpelWS">
                   <sequence>
                        <element name="namespaceData" type="tns:NamespaceDataImplBpelWS" />
              </sequence>
              </complexType>
         <element name="desc" type="string"/>
         </schema>
         <schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
                   <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
                        <complexType name="mapItem">
                             <sequence>
                                  <element name="key" type="string" />
                                  <element name="value" type="string" />
                        </sequence>
                        </complexType>
                        <complexType name="Map">
                             <sequence>
                             <element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem" />
                             </sequence>
                        </complexType>
              </schema>
    </types>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    MESSAGE TYPE DEFINITION - Definition of the message types used as
    part of the port type defintions
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <message name="NsWithMapRequestMessage">
    <part name="payload" element="tns:createNamespace"/>
    </message>
    <message name="NsWithMapResponseMessage">
    <part name="payload" element="tns:transResult"/>
    </message>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    PORT TYPE DEFINITION - A port type groups a set of operations into
    a logical service unit.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- portType implemented by the NsWithMap BPEL process -->
    <portType name="NsWithMap">
    <operation name="initiate">
    <input message="tns:NsWithMapRequestMessage"/>
    </operation>
    </portType>
    <!-- portType implemented by the requester of NsWithMap BPEL process
    for asynchronous callback purposes
    -->
    <portType name="NsWithMapCallback">
    <operation name="onResult">
    <input message="tns:NsWithMapResponseMessage"/>
    </operation>
    </portType>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    PARTNER LINK TYPE DEFINITION
    the NsWithMap partnerLinkType binds the provider and
    requester portType into an asynchronous conversation.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <plnk:partnerLinkType name="NsWithMap">
    <plnk:role name="NsWithMapProvider">
    <plnk:portType name="tns:NsWithMap"/>
    </plnk:role>
    <plnk:role name="NsWithMapRequester">
    <plnk:portType name="tns:NsWithMapCallback"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    I am trying to set this map data using java code ,
         HashMap procADMap1 = new HashMap(5);
                   PropertyTypeWS pType = new PropertyTypeWS();
                   pType.setTypeIndex(2);     
              AppdataDefImplWS appData1 = new AppdataDefImplWS();
              appData1.setName("Project");
              appData1.setType(pType);
              appData1.setMaxSize(400);
              appData1.setLOB(false);
         appData1.setDefaultValue("Project Default value");
              procADMap1.put(appData1.getName(), appData1);
              setVariableData("request","createNs","/createNs/namespaceData/appdataDef",procADMap1);     
    Then I am passing request object to the method which I want to invoke from bpel process.
    I am able to deploy the application but when I do post message I am getting following exception,
    NamespaceWithMap (createNamespace) (faulted)
    [2004/09/09 18:35:54] "{http://schemas.oracle.com/bpel/extension}bindingFault" has been thrown. Less
    faultName: {{http://schemas.oracle.com/bpel/extension}bindingFault}
    messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
    code: {Server.userException}
    summary: {org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.}
    detail: {null}
    Is there any other way to handle Map type in bpel process?
    Thanks in advance,
    Sanjay

    Thanks for the quick reply.Actually the web service is already deployed on the server.What I want to do is use existing wsdl file of the deployed web service and invoke the method of the same using oracle PM.
    If I remove element which uses apachesoap:Map type it just works fine also I am getting the complex object returned by the web service method.But when I try to set appDataDef which is of type apachesoap:Map(Axis conversion for java.util.Map and it uses namespace xmlns:apachesoap="http://xml.apache.org/xml-soap") I am getting the error.
    Can you give me some direction to use this exising wsdl file to set map object or it is not possible.

  • How to pass a document as an attachment to a BPEL process?

    Hi Guys,
    Currently I have a BPEL process that get's invoked from a JSP page with some scriplets in it. The following bit of code calls the BPEL process in the JSP scriplet:
    try{       
    String givenNames = request.getParameter("givenNames");
    String sex = request.getParameter("sex");
    String title = request.getParameter("title");
    String staffMemberInd = request.getParameter("staffMemberInd");
    String deceasedInd = request.getParameter("deceasedInd");
    String archiveExclusionInd = request.getParameter("archiveExclusionInd");
    String archiveDt = request.getParameter("archiveDt");
    String purgeExclusionInd = request.getParameter("purgeExclusionInd");
    String purgeDt = request.getParameter("purgeDt");
    String birthDt = request.getParameter("birthDt");
    String salutation = request.getParameter("salutation");
    String preferredGivenName = request.getParameter("preferredGivenName");
    String emailAddr = request.getParameter("emailAddr");
    String autoEnableInd = request.getParameter("autoEnableInd");
    String xml = "<AddUserProcessRequest xmlns=\"http://xmlns.oracle.com/callistaAddUser\">"
    +"<surname>"+surname+"</surname>"
    +"<givenNames>"+givenNames+"</givenNames>"
    +"<sex>"+sex+"</sex>"
    +"<title>"+title+"</title>"
    +"<staffMemberInd>"+staffMemberInd+"</staffMemberInd>"
    +"<deceasedInd>"+deceasedInd+"</deceasedInd>"
    +"<archiveExclusionInd>"+archiveExclusionInd+"</archiveExclusionInd>"
    +"<archiveDt>"+archiveDt+"</archiveDt>"
    +"<purgeExclusionInd>"+purgeExclusionInd+"</purgeExclusionInd>"
    +"<purgeDt>"+purgeDt+"</purgeDt>"
    +"<birthDt>"+birthDt+"</birthDt>"
    +"<salutation>"+salutation+"</salutation>"
    +"<preferredGivenName>"+preferredGivenName+"</preferredGivenName>"
    +"<emailAddr>"+emailAddr+"</emailAddr>"
    +"<autoEnableInd>"+autoEnableInd+"</autoEnableInd>"
    +"</AddUserProcessRequest>";
    Locator locator = new Locator("default","bpel");
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME);
    // construct the normalized message and send to Oracle BPEL Process Manager
    NormalizedMessage nm = new NormalizedMessage( );
    nm.addPart("payload" , xml );
    NormalizedMessage res = deliveryService.request("AddUser", "process", nm);
    Map payload = res.getPayload();
    Element partEl = (Element) payload.get("payload");
    In my BPEL process I have a human task that I want to attach a document (WORD, PDF etc) to.
    My question is, how can I attach and pass a document as an input parameter to my BPEL process? and what kind of element do I need to create in the XSD file to hold the attached document?
    Any help with this is greatly appreciated.
    Thanks.
    Edited by: user9972209 on Aug 31, 2008 10:57 PM

    In our application, an attachment surfaces in the middle of the lifecycle, but not from the start.
    We were using the following to accommodate the attachment as the part of the payload ...
    <xsd:element name="AttachementMimeType" type="xsd:string"/>
    <xsd:element name="AttachmentMIMEStream" type="xsd:string"/>
    Hope this helps.

  • Using Email to initiate a BPEL Process

    Hi All,
    We have a request to process a .csv file which comes as an attachment thru Mail.
    we are able to do the setup to invoke the BPEL Process as the mail is received.
    We want to know how to get attached file in BPEL Process to process it further.
    We are using BPEL 10.1.3.
    Please help.
    Thanks and Regards,
    Vikram Singh

    There is currently no inbound email adapter afaict. If you want a quick solution on a unix system, I would advise you to write a custom shell/python/perl script that can do convert the inbound mail to a xml format and post that xml to a webservice (BPEL process). You can use 'curl' or 'wget' to post it to the BPEL process. This method is discussed in more detail at this Zwiki mail setup page (replace Zope by Oracle BPEL :).
    See also this previous Oracle forum article Re: Using email to invoke a BPEL process, which discusses this same issue.
    Hope this helps,
    Regards,
    PieterB

Maybe you are looking for

  • Is Ae the program for me?

    So here's what I want to do: Make a big one-minute compilation of viral vidoes, sync the clips to music and play around with the Ae animator. All this has worked just fine, but when I rendered the video (.avi) the filesize was waaaaay to big, actuall

  • My mozilla mainpage keeps getting taken over by bing and I cant stop it-help!

    I have a mozilla mainpage with google. every time I try to "google", bing pops up instead and takes over and it wont go away. I cant use any other search engines-this just started and i swear it's a microsoft virus the way it acts.

  • Is it possible for users to enter data on PDF forms?

    I would like to use Crystal Reports to generate a PDF form with data from database; I am experienced with that. Here's the question -- Many of the fields will be populated from my database, but I would like to leave some fields blank for the user to

  • Periodic Floating Rate Adjustment

    Hi Friends, could you tell me how to determine the period floating rate in CRMD_ORDER, ie, Reference interest rate ID must match interest the reference interest rate IF on the Contract(i.e EURIBOR01, EURIBOR03,EURIBOR06,EURIBOR012) and period of the

  • How do I recover search bar and empty cache function in Safari?

    My search bar function is gone from Safari and my empty cache function is gone from Safari after the last update.  I only get the URL bar.  I've tried deleting and then dragging the toolbar items back in.  doesn't work.  Any help would be appreciated