Problem with calling AQ JMS Adapter with Asynchronous BPEL Process

I have a AQ JMS Adapter and i'm invoking the adapter in my BPEL process.
I'm passing an xml as payload to AQ JMS adapter. When i post the xml in the BPEL Control, i'm getting the follwoing message:
"Cannot find the specified instance". I have tried 3-4 times but getting same message all the time.
However, i'm able to publish xml to JMS Topic with synchronous BPEL process.
I want to use asynchronous BPLE process.
Please let me know if there is a way to overcome this issue.
Thanks in advance.
Thanx in Advance.

I am experiencing the exact same issue while configuring for Tibco EMS!!!
I have also checked the oc4j-xa.xml file etc and I am also unable to find any guidance on the steps required from XML config files through to adapter wizard entries!

Similar Messages

  • Problem with Send using JMS Adapter with Websphere MQ

    Hi,
    We have two scenarios using JMS Adapter with MQ:
    1. File->PI->MQ
    This works fine and drop the file in MQ correctly.
    2. MQ->PI->File
    This gives an error reading from the queue: (see highlighted in the log below). It correctly connects to the queue name. But it fails with the message "Could not begin a AF transaction".
    Our PI version is 7.0 SP 13
    Websphere MQ Version 6.0.
    Any idea what could be wrong?
      Cluster Node  Administration Information  Availability Times
    Cluster Node Details for Channel CC_JMS_MQ_Sender
    Short Log 
    In the Last 4 Hours Server 0 15_92786
    _Sucessfully connected to destination 'queue:///MMPP.PLM.FGH41? CCSID=37&targetClient=1'_
       Line 1 / 1
    Processing Details for Cluster Node Server 0 15_92786
    Type 
    Time Stamp 
    Message ID 
    Explanation 
    9/2/08 2:27:28 PM 2e6206f0-7925-11dd-bc02-0003bae50b4d Error while processing message '2e6206f0-7925-11dd-bc02-0003bae50b4d';  _detailed error description: com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: Could not begin a AF transaction: TxManagerException: Unable to open transaction: com.sap.engine.services.ts.exceptions.BaseSystemException at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filterSend(TxManagerFilter.java:103) ..._  
    9/2/08 2:27:28 PM 2e6206f0-7925-11dd-bc02-0003bae50b4d XI message ID corresponding to JMS message with ID 'ID:414d512071736431202020202020202047d9462024028b02' will be created as a new GUID with value '2e6206f0-7925-11dd-bc02-0003bae50b4d'
    Amith Dharmasiri

    Checked the drivers installed in :
    /usr/sap/<SID>/DVEBMGS<SYSNO>
    /j2ee/cluster/server0/bin/ext/com.sap
    .aii.af.jmsproviderlib
    They are available and properly added to aii_af_jmsproviderlib.sda.
    The drivers are:
    CL3Export.jar
    CL3Nonexport.jar
    com.ibm.mq.jar
    com.ibm.mqjms.jar
    connector.jar
    dhbcore.jar
    rmm.jar
    These were installed per OSS note 747601.
    Any other suggestions, why retrieving from MQ doesn't work?

  • Configuring JMS adapter for a BPEL process which puts a msg in a Q of MQ

    Hi,
    I am trying to develop a BPEL process which picks up a message from a Q in Websphere MQ and puts that message in another Q of MQ after processing that.
    I have updated the oc4j-ra.xml with the following inputs:
    <connector-factory location="eis/MQSeries/Queue" connector-name="Jms Adapter">
              <config-property name="connectionFactoryLocation" value="com.ibm.mq.jms.MQQueueConnectionFactory"/>
              <config-property name="factoryProperties" value="QueueManager=TestManager;TransportType=1;Hostname=machine's ip address;Port=1414;Channel=channel name for connecting to client"/>
              <config-property name="acknowledgeMode" value="AUTO_ACKNOWLEDGE"/>
              <config-property name="isTopic" value="false"/>
              <config-property name="isTransacted" value="true"/>
              <config-property name="username" value="admin"/>
              <config-property name="password" value="welcome"/>
         </connector-factory>
    But while testing the BPEL process, I get the error:
    <remoteFault>
    <part name="code" >
    <code>null</code>
    </part>
    <part name="summary" >
    <summary>file:/D:/OraBPELPM_2/integration/orabpel/domains/default/tmp/.bpel_MQMessaging_1.0.jar/Outbound.wsdl [ Produce_Message_ptt::Produce_Message(SourceEmployee) ] - WSIF JCA Execute of operation 'Produce_Message' failed due to: Adapter Framework unable to create outbound JCA connection. file:/D:/OraBPELPM_2/integration/orabpel/domains/default/tmp/.bpel_MQMessaging_1.0.jar/Outbound.wsdl [ Produce_Message_ptt::Produce_Message(SourceEmployee) ] - : The Adapter Framework was unable to establish an outbound JCA connection due to the following issue: ORABPEL-12141 ERRJMS_CONN_FAC_NOT_FOUND. Unable to instantiate connection factory. JMS adapter was unable to look up the connection factor com.ibm.mq.jms.MQQueueConnectionFactory neither through JNDI nor instantiate it as a Java class Please examine the log file to determine the problem. ; nested exception is: ORABPEL-12511 Adapter Framework unable to create outbound JCA connection. file:/D:/OraBPELPM_2/integration/orabpel/domains/default/tmp/.bpel_MQMessaging_1.0.jar/Outbound.wsdl [ Produce_Message_ptt::Produce_Message(SourceEmployee) ] - : The Adapter Framework was unable to establish an outbound JCA connection due to the following issue: ORABPEL-12141 ERRJMS_CONN_FAC_NOT_FOUND. Unable to instantiate connection factory. JMS adapter was unable to look up the connection factor com.ibm.mq.jms.MQQueueConnectionFactory neither through JNDI nor instantiate it as a Java class Please examine the log file to determine the problem. Please examine the log file for any reasons. Enable DEBUG logging in the BPEL Console. </summary>
    </part>
    <part name="detail" >
    <detail>null</detail>
    </part>
    </remoteFault>
    Can anyone tell me what has gone wrong in setting the connection factory for the Q or what else I have to configure to sort out this problem?
    Thanks,
    Jayatu

    I am experiencing the exact same issue while configuring for Tibco EMS!!!
    I have also checked the oc4j-xa.xml file etc and I am also unable to find any guidance on the steps required from XML config files through to adapter wizard entries!

  • Issue with JMS inbound Adapter  and Asynchronous BPEL

    Hi Gurus,
    I am facing the below issue with JMS inbound Adapter and Asynchronous BPEL .
    I have 2 JMS Queues one inbound and one outbound . The Composite has multiple BPEL Components around 4 on an average and i have 4 composites similar to that .
    Totally 4 Composites * 4 BPEL Components = 16 Services
    Propoesd Solution :
    I have used MessageSelector in the JMS Adapter for selecting the incoming message. The BPEL gets invoked if the message selector is true and proceses the Message and writes the response to the other Queue.
    Initially i had no problems but intermittantly the BPEL processes are getting invoked but they are not processing the data ( Bpel process is supposed to invoke an external service and get the response in a sync call) and each BPEL processe instance is in running state for ever . This remains even if i restart the servers .
    The message gets read by the JMS Adapter , BPEL instace gets created but it wont proceed futher and remains in the runnign state for ever.
    If i redeploy the Composite then messages get processed but the issue creeps up again ( i tried to checl the logs but ino cluea about the issue .
    Getting frustrated day by day tried the bpel.config.transaction, increased the JMS Adapter threads , inreased the worker threads but all in vein..
    please let me know if any one has faced similar issue .
    Anticipating a quick response from the gurus.
    Lakshmi.

    We are also facing this issue in 11.1.1.5.
    Breifly the issue is : The BPEL process which polls an inbound JMSAdater ( consume_message) either stays in running state forever ( whatever we do) or go to the recovery queue. It doesnt recover even if i try to recover it. This happens intermittently. Redeploying the application / restarting servers sometime solve the issue but as know we cant do that on prod systems .
    Can some one look into this on priority and help us giving a solution/workaround.

  • Debugging JMS adapter with Module Configuration

    Hi.
    I have a problem debugging my JMS adapter with module configuration.
    All I get from the Message Monitor is a status "System Error", and no error category or error message.
    I know there's an error in my Module configuration design, since it works fine without.
    My configuration looks like this:
    PROCESSING SEQUENCE:
    1     localejbs/AF_Modules/MessageTransformBean     Local Enterprise Bean     XML2Plain
    2     localejbs/SAP XI JMS Adapter/ConvertMessageToBinary     Local Enterprise Bean     convert_XI2Bin
    3     localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService     Local Enterprise Bean     exit
    MODULE CONFIGURATION:
    XML2Plain     Transform.Class     com.sap.aii.messaging.adapter.Conversion
    XML2Plain     Transform.ContentType     text/plain;charset=utf-8
    XML2Plain     xml.conversionType     StructXML2Plain
    XML2Plain     xml.addHeaderLine     0
    XML2Plain     xml.recordsetStructure     STARTRECORD,DATARECORD,SERVICEYDELSERRECORD,SLUTRECORD
    XML2Plain     xml.STARTRECORD.fieldFixedLengths     2,8,6,7,10,7,3,3
    XML2Plain     xml.DATARECORD.fieldFixedLengths     2,8,6,4,35,17,7,7,7,5,5,5,18,18,18,18,18,18,18,18,18,9
    XML2Plain     xml.SERVICEYDELSERRECORD.fieldFixedLengths     2,8,6,4,3,20,18,18,18
    XML2Plain     xml.SLUTRECORD.fieldFixedLengths     2,8,6,7,10,7
    XML2Plain     xml.STARTRECORD.fixedLengthTooShortHandling     Cut
    XML2Plain     xml.DATARECORD.fixedLengthTooShortHandling     Cut
    XML2Plain     xml.SERVICEYDELSERRECORD.fixedLengthTooShortHandling     Cut
    XML2Plain     xml.SLUTRECORD.fixedLengthTooShortHandling     Cut
    The structure of the message looks like this:
    <STARTRECORD> (occurence = 1)
    <DATARECORD> (occurence = 1..unbounded)
    --- <SERVICEYDELSERRECORD> (occurence = 0..unbounded)
    <SLUTRECORD> (occurence = 1)
    I've crosschecked every field, and it length and all looks like it should!
    The worst part is the one not getting the reason why it fails. Any way I can get this information?
    I've tried to look in the Adapter Framework log, but I have no clue where to look for anything usefull.
    Help
    Regards Peter

    Hello,
    Below is the module configuration in my JMS sender channel:
    Check Message          Local Enterprise Bean          key
    ConvertJMSMessageToBinary      Local Enterprise Bean      convert_JMS2Bin
    ConvertBinaryToXMBMessage     Local Enterprise Bean      convert_Bin2XI
    CallSapAdapter                Local Enterprise Bean          call_AF_MS
    CheckMessage is a custom module which does some check on the incoming message.
    Now what I want to know is at which position should I include the DynamicConfiguration Bean? Should it be included at position 1 or at position 2 or someother position?
    ~Thanks.

  • Inbound JMS adapter with MapMessage

    I'm sharing the following problem and solution with using the OEP inbound message adapter because it may be
    a common situation occurring to other users.
    Recently was using the inbound JMS adapter with its default (OEP internal) converter from JMS MapMessage
    messages to OEP events. The inbound adapter was receiving MapMessage messages but it was not assigning
    values to the corresponding attributes in the specified input event instance.
    The problem was that I was not properly creating the MapMessage messages in the JMS producer client.
    I was using method setStringProperty() instead of method setString(), which is what is needed to set name/value
    pairs of type String, and similarly with other primitive Java data types. Here's a code snippet for building and sending
    a MapMessage on the client side:
          try {
          mapm = qsess.createMapMessage();
          mapm.setString("valueType1", "value1");
          mapm.setString("valueType2", "value2");
          mapm.setInt("valueType3", 5);
          producer.send(mapm);
         } catch (JMSException jmse) {
         jmse.printStackTrace(System.err);
         System.exit(0);
    Regards,
    Mauricio

    OSB JMS config:
    <queue name="RequestQ">
    <sub-deployment-name>wlsbJMSServer</sub-deployment-name>
    <jndi-name>RequestQ</jndi-name>
    </queue>
    <queue name="ResponseQ">
    <sub-deployment-name>wlsbJMSServer</sub-deployment-name>
    <jndi-name>ResponseQ</jndi-name>
    </queue>
    Business service in OSB from where message is sent to the "ResponseQ" which is consumed by CEP.
    Jms Inbound CEP Config:
    <jms-adapter>
    <name>jmsAdapterInbound</name>
    <jndi-provider-url>t3://10.227.145.164:7005</jndi-provider-url>
    <connection-jndi-name>weblogic.jms.XAConnectionFactory</connection-jndi-name>          
    <destination-jndi-name>ResponseQ</destination-jndi-name>
    <user>weblogic</user>
    <password>weblogic123</password>
    <work-manager>JettyWorkManager</work-manager>
    <concurrent-consumers>1</concurrent-consumers>
    <session-transacted>false</session-transacted>
    </jms-adapter>

  • Sender JMS Adapter with EOIO Quality of Service

    Hi,
    I have a sender JMS adapter with a quality of service as EOIO. In the SAP help it says that I need to specify the "Processing J2EE Cluster Server (Cluster ID)". Just wondering how I get this value? Does anyone have an example?
    Thanks,
    Krishneel

    Hi,
    Please go through the bleow Wiki:
    http://wiki.sdn.sap.com/wiki/display/XI/FAQ+J2EEJMS+Adapter
    http://help.sap.com/saphelp_nwpi71/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    Thanks,
    satya

  • Error with the Receiver JMS Adapter (Connection On-Demand feature)

    Hi,
    In high volume we are experiencing errors with the Receiver JMS Adapter and the connection On-demand feature:
    Adapter Framework caught exception: while trying to invoke the method com.sap.aii.adapter.jms.api.connector.DisconnectorListener.notifyEvent(java.lang.String) of an object loaded from local variable 'listener'
    Delivering the message to the application using connection JMS_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: while trying to invoke the method com.sap.aii.adapter.jms.api.connector.DisconnectorListener.notifyEvent(java.lang.String) of an object loaded from local variable 'listener'.
    The message status was set to WAIT.
    Looks like the message is successfuly reprocess after the wait period but the ALEAUD/Akcnowledgment are not successful in the sender ECC system. (SAP -> PI - > JMS)
    Any idea?
    PI 7.1 EHP1
    Thanks,
    Martin
    /people/sunil.ojha5/blog/2010/08/31/review-of-sap-pi-jms-adapter-on-demand-connection-feature
    Edited by: Martin Lavoie Rousseau on Jun 3, 2011 3:21 PM

    Please ensure to have specified an User and password to connect to JMS server (don't leave the fields empty).

  • How to call a Asynchronous bpel process from a PLSQL procedure?

    How to call a Asynchronous bpel process from a PLSQL procedure?

    Hi,
    You could do something smart and technical very spiffy with soap-stacks in the database and/or dbms_ws/dbms_http. But I allways find AQ with AQ-adapter the simplest. Let Pl/sql enqueue a message on an aq-queue and subscribe an aq-adapter process on it. That can call your async-bpel process. If you want to get answer back in pl/sql, let the aq-adapter process enqueue a response message on another queue or on the same queue with another consumer name. Give it a correlation-id that you provided in the payload of your request message. Your pl/sql process can then do a dequeue on that correlation-id. It will sit and wait until a message with that correlation id is enqueued on the queue.
    Regards,
    Martien

  • Asynchronous BPEL Process called from an empty BPEL process getting lost.

    Hi
    I have an empty BPEL process calling an asynchronous BPEL process. The empty process is triggered by a read file activity. It finishes successfully and even calls the asynchronous process. There is no error thrown but the called asynchronous process does not show up in the dashboard.
    When this asynchronous process is manually run from the console I get the page stating 'Cannot find the specified instance'.
    I am using Jdev 10.1.3.2 and SOA Suit 10.1.3.1.
    Any suggestion as to why this is happening and what is the remedy?
    Buddhadev.

    Check your log as soon as you find that the parent process has found its way into the console. More information on logging can be found here - http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28982/logging.htm
    Not quite sure why its so, but since 10.1.3, I've observed that the console simply doesn't show errored processes at times. So, checking the log can be a starting point in diagnosing the real issue.
    HTH
    Antony

  • How to get response from an asynchronous BPEL process in Java

    I'm experimenting with BPEL and doesn't seem to be able to get response from an asynchronous BPEL process. Here's the deal:
    I have a BPEL process that takes a string as input, and gives another string as output. This is a asyncronous process.
    I want to initiate this BPEL process as a web service so I generate a Webservice Proxy in JDeveloper 10g (10.1.3.0.4). The function to call the process is now called "initiate" and takes three arguments: the input string, a "org.xmlsoap.schemas.ws._2003._03.addressing.EndpointReferenceType replyTo" and a
    "org.xmlsoap.schemas.ws._2003._03.addressing.AttributedURI messageID".
    HTTP-Analyzer shows that invoking the BPEL process with initiate("somestring", null, null) results in sending a SOAP message to the BPEL process, which returns a "202 Accepted". How do I get the response from the process? My intuition tells me that I have to use that second argument, that EnpointReferenceType thing. How do I use that?
    Another question: If a asynchronous BPEL process does not exists (so the endpoint does not exist) the Java proxy does not throw an error when runned. It does not even sends a message. It exits with status 0! (This happens for example when deploying a new version of a process and when the "old" version is undeployed). Calling a non-existing synchronous BPEL process, the Java proxy DOES throw an error.

    Clemens,
    That all sounds logical. But somehow it is still a mystery for me ... Somehow I don't see what should be done.
    To call the async BPEL process I have the following procedure:
    initiate(String input, org.xmlsoap.schemas.ws._2003._03.addressing.EndpointReferenceType replyTo, org.xmlsoap.schemas.ws._2003._03.addressing.AttributedURI messageID)
    The first argument is the input for my BPEL process. The second is the address to a webservice that should handle the callback, right? The third is a messageID (makes sense, but why of the type AttributedURI?).
    Here lies my problem. It is not clear to me how these EndpointReferenceType & AttributedURI work. I can't find anything on the net about it. The AXIS examples as where mentioned earlier use other types (namely the "org.xmlsoap.schemas.ws.addressing.MessageID" and "org.xmlsoap.schemas.ws.addressing.ReplyTo") which are completely different.
    What I did so far:
    - I created an webservice proxy that listens on the onResult endpoint of the BPEL process.
    - I created an webservice proxy that calls the BPEL process through the initiate procedure, but it is not completely clear to me how to construct the EndPointreferenceType replyTo, and the MessageID. I did something like this:
    EndpointReferenceType replyTo = new EndpointReferenceType();
    // callback service running on local machine
    // This URI class is the java.net's version
    URI replyToURI = new URI("http://vaccinatie:8988/syncro-callback-context-root/stringconcatCallbackBindingPort");
    // This AttributedURI is the org.xmlsoap.schemas.ws._2003._03.addressing's version
    AttributedURI address = new AttributedURI();
    // the only public methos that made sense to me:
    address.set_value(replyToURI);
    replyTo.setAddress(address);
    // call the BPEL process
    myPort.initiate("test123", replyTo, address);
    But the above doesn't work (largely because I don't know what I'm doing here prob.:-) ) It does send the "test123" message, and the BPEL process does process it, but I don't seem to get the callback right.
    I hope this makes my problems somewhat clearer. I hope someone can help me, because I'm just a beginner in this whole "web service area" and seems to do something terribly wrong here, because it should be very simple. Thx.

  • Implement callback for an asynchronous BPEL process through Java

    Hi ,
    I am trying to implement a callback functionality for an asynchronous BPEL process through java.
    I found the code in the samples folder of SOA suite installation folder .
    <SOA_HOME>\bpel\samples\tutorials\102.InvokingProcesses\rmi\com\otn\samples\async.
    There is an AsyncInstanceWatchdog object which registers a callback object(in this case an object of AsyncCallbackImpl class) for a specific CONVERSATION_ID.
    String convId = GUIDGenerator.generateGUID();
    nm.setProperty(NormalizedMessage.CONVERSATION_ID, convId);
    deliveryService.post(proc_name, "initiate", nm);
    // register the callback
    watchdog.registerAsyncCallback(convId, testAsyncHandler,
    locator.getDomainAuth());
    // start it
    watchdog.start();
    There is no problem till the last line. But once the BPEL process returns the control( does a callback), it throws the following error.
    May 25, 2010 3:36:06 PM oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
    WARNING: Exception returned by remote server: {0}
    ORABPEL-02118
    Variant not found.
    The variant "output" has not been declared in the current scope. All variants must be declared in the scope before being accessed.
    Please check that the variant "output" is properly declared; otherwise there may be a misspelling in the name of the variant.
         at com.collaxa.cube.engine.core.Scope.getVariantRV(Scope.java:535)
         at com.collaxa.cube.engine.CubeEngine.getFieldValue(CubeEngine.java:2668)
    For your reference the variable output is declared in the definition of AsyncCallbackImpl (which implements the IAsyncInstanceCallback interface).
    There are 2 methods defined in the AsyncCallbackImpl class.
    public void onResult(Map pResultMessage) {
    System.out.println("called back! ");
    Iterator iTest = pResultMessage.keySet().iterator();
    while (iTest.hasNext()) {
    String key = (String)iTest.next();
    System.out.println(XMLHelper.elementToString((Element)pResultMessage.get(key)));
    public String getVariableName() {
    return "output";
    The variable name is same given in the sample code. And the BPEL process returns variable named output. So the name should not be a problem.
    Is it because of the scope of the variable.. If so, how do I change it.
    Any help would be appreciated.
    Edited by: saptarishi on May 25, 2010 4:24 PM
    Edited by: saptarishi on May 26, 2010 4:45 PM

    Solved it by some googling .... :)
    Here is the link:-
    [http://abhishek-soablog.blogspot.com/2008/09/orabpel-02118.html]
    or
    [http://beautifulwaste.blogspot.com/2008/04/calling-asynchronous-bpel-process.html]
    Both gives the same solution..
    In pre 10.1.3.3 release the default behaviour were to keep global variable information along with the instance information for completed BPEL processes.
    In 10.1.3.3 or later, this behaviour changed for performance reasons so that the default behaviour is now, not to keep any global variables for a BPEL process once the BPEL process has completed.
    You can configure this behaviour on a process level basis by using the parameter keepGlobalVariables in the bpel.xml file for the specific process:
    <BPELSuitcase>
    <BPELProcess src=".........." id="...........">
    <configurations>
    <property name="keepGlobalVariables">true</property>
    </configurations>
    </BPELProcess>
    </BPELSuitcase>
    Thanks
    saptarishi

  • Understanding asynchronous BPEL processes and threading

    Hi everybody,
    I have a question regarding asynchronous BPEL processes and threading.
    I have an asynchronous BPEL process which delivers a message (picked up from a JMS topic) to a repository (via for instance an ICAN server). This transaction must be time-sensitive, i.e. first-in is first-out.
    If I have several threads running concurrently I have no guarantee that the messages are delivered in the same order that they where generated. It seems that the suggested way around this problem is to use single-threading.
    So here's the part that I do not understand:
    An asynchronous request does not wait for a response. If I use single-threading then what happens to that single-thread if for some reason (for instance the ICAN server is not responding) the BPEL instance is dehydrated? Is the thread still allocated for waiting for the first response or does it go back and pick up the next thing on the topic? If the next thing on the topic is picked up then how can I be sure that the messages are delivered in the correct order? If the thread is still allocated to the single instance then does that not kindda go against the whole concept of an asynchronous process?
    I hope some one can explain this to me.
    Thank you in advance.
    Kind regards,
    Mathias
    PS. This question is an attempt of a different angle on another forum thread: Asynchronuos BPEL - how to get the order of messages right?

    Hi again,
    A quick follow up question:
    Is there any way to have several BPEL processes running on the same server with different settings for how many threads to use?
    It seems that the only way to set number of threads used by BPEL is to use the configuration in the BPEL console? This is an domain setting - which means that all processes deployed to the server is effected the same way?
    I am asking because I am facing a scenario where I need one BPEL process to read from a AQ queue (well actually a topic) with a single thread and another BPEL process - deployed to the same BPEL server - to read from the same AQ queue with multiple threads.
    Does anyone have any idea of how to do this? Can it be done?
    Any suggestions, hints or reference to any documentation would be very much appreciated.
    Thank you in advance,
    Aagaard

  • 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.

  • Correlation in Asynchronous BPEL process

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

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

Maybe you are looking for