Identification of Async/Sync Process

Hey Experts,
What are the points i need to look for, to identify an Asynchronous Process from a Synchronous Process?
I know that an Async Process will have a Callback (Invoke Activity) in the end compared to a Reply of a Sync Process.
Are there any more indications to figure out the difference?
Thanks in advance.

Hey guys,
Thanks you for your responses,
I have downloaded a BPMN model from a BPA server onto my jDeveloper.
the process is supposed to be a Synchronous process, and from the above tips, i am able to get the followin details from the WSDL
     <wsdl:portType name="Resolve_Query">
          <wsdl:operation name="process">
               <wsdl:input message="client:Resolve_QueryRequestMessage"/>
               <wsdl:output message="client:Resolve_QueryResponseMessage"/>
          </wsdl:operation>
     </wsdl:portType>
So, this makes it a Synchronous process. But the BPEL view has a Invoke activity in the end.
can i try removing it and add a Reply activity? will that cause any problem in the future?
Also, i got to know from my colleague that we can also have Synchronous Process with callback.
can anyone shed some light on what we mean by Callback here?
Thanks!

Similar Messages

  • Async - Sync in BPM - Multiple Retries

    I have an asyncronous interface from CRM which goes into BPM and makes a synchronous call into the destination application and expects a response. However if there is a connection failure from the HTTP adapter to the destination application, I want to try a further 10 times to try to get a connection at 2 minute intervals before failing the process and triggering an alert.
    This part is working ok :
    The first send fails and raise an exception (system exception) and the exception handler is invoked. In the exception handler branch I have set up a loop to try a resend at 2 minute intervals.
    However when the first retry fails the process stops. I do not have a further exception handler branch for the retry block as I just wish to keep retrying at 2 minute intervals.
    This leads me to believe that I need to have each retry in a block of its own and have an exception handler branch for each of the retries.
    Can someone please confirm this is the case ?
    This seems very inefficent to have to do it this way.
    Does anyone have an alternative method to fufil this requirement of retrying a fixed number of times at a fixed interval ?
    Note that I cannot use IS_RETRY_LIMIT in configuration as this is only for asynchronous processing. This is async - sync processing.
    Thanks
    Colin.

    hi,
    >>However when the first retry fails the process stops. >>I do not have a further exception handler branch for >>the retry block as I just wish to keep retrying at 2 >>minute intervals.
    since this is a sychronous call, Xi wll only ry once and if hte call fails, i will mark he call as failed, tere is no way you can so a retry.
    instead, i have a suggestion for you in terms of design. Make the http call asych with in the BPM. But establish a correlation using correlation editor. So have a send step and recieve step for recieving the response asychornously based on the corelation id.
    now go to visual admin -> server -> SAP XI adapter yo will see retry interval and retry limit. here change these values to ur choice, default being 3 times afer 5 minutes.
    by doing these changes you are ensuring that if the message fails the first time, Xi will put this message as waiting, and will retry to submit based on the setting u made to the XI adapter.
    cheers,
    naveen

  • Sync and async bpel process

    Hi,
    I was reading about the synchronous and asynchronous process in the forum, I have also some similar problem.
    some of my questions are:
    If suppose my BPEL process is going to take around 2 mins or more to finish , then I cannot chose synchronous BPEL process as the default timeout is 45sec and not recomend to increase the time.
    As the above is true, I have created a asynchronous BPEL process, now I want the reply back from asynchronous, is this is possible? even I found that when I invoke the partner link of asynchronous BPEL process it doesn't ask for the output variable. SO if any process going to take longer time and need response from that, whats the solution.
    Regards,
    Sreejit

    Hi James,
    Thanks, yes you are correct that receive is required for the response from async process.
    Do you have any idea how we can get the response back if we are calling the asyn process outside the SOA server, say from PL/SQL or Java API. PL/SQL can call the sync process and get the response back but in case of async process it returns null as the callback response of async not send the response to database. Is this possible with java api, any link or sample which illustrate this or any step suggestion. Actually I am trying to call the BPEL process from Oracle Apps R12 E-Business suite.
    Regards,
    Sreejit

  • How to change a Async BPEL process into Sync bpel process

    Hi All,
    Can we change a bpel process which has been created by choosing the template as Asynchronous BPEL Process and after my requirement has
    been changed i want to change my bpel process into synchronous bpel process. Is it possible to change the process or else we have to delete the whole process and once again we have to create a bpel process with synchronous template.
    IF it possible to change the process from Async to sync how. is there any demo link on this. If possibel can anyone share a link on this.
    Regards,
    CH

    Diff between ASYNC & SYNC
    Composite.xml
    SYNC: In service part in only interface.wsdl & binding.ws will be there
    ASYNC: in service part interface.wsdl & binding.ws and one more callback binding.ws is there.
    In .BPEL FILE
    SYNC: In Partner Link name, partnerLinkType, MyRole will be there .
    ASYNC: In partner Link name ,partnerLinkType,MyRole,Partner Role also will be there.
    *.WSDL File*
    SYNC: in portType Input & Output both are there , in partnerLinkType only one role is there i.e Requester Role no provider.
    ASYNC: in portType only Input will there,in PartnerLinkType two roles will be there ProviderRole n Requester Role.
    Also change the activity in the BPEL from Reply to Invoke in the end.
    Respective to your requirements you can change your BPEL to Sync/ASync.
    I hope it will help.

  • BPEL Sync process vs Async process

    Hi All,
    I am bit confusing with Sync and Async BPEL processes
    Can I invoke another BPEL process in whatever way(Sync/Async) I want without considering whether invoked process is Sync or Async
    or
    Invoking remote BPEL processes( Sync / Async ) depends on our BPEL process deign
    Thanks
    -Praveen

    Within the SOA world, you have two types of processes, sync and a-sync. Calling a process is different. By a sync-call there is immediate response, while an a-sync does not have an immediate reponse.
    So it depends how you call the WS.

  • File-SOAP-File Async/Sync Bridge : Null Pointer Exception

    Hi All,
    I have a File-SOAP-File scenario (Async/Sync Bridge). This scenario was working fine in PI 7.0. However since the time we have upgraded to PI 7.1, this scenario has been failing.
    I do receive a response for web service, however the sender File adapter fails after initiating Response bean.
    2010-08-04 12:16:02 Information MP: processing local module localejbs/AF_Modules/ResponseOnewayBean
    2010-08-04 12:16:02 Information The message was successfully transmitted to endpoint http://vs06cs01.sce.com:8000/sap/xi/engine?type=entry using connection File_http://sap.com/xi/XI/System.
    2010-08-04 12:16:02 Information The message status was set to DLVD.
    2010-08-04 12:16:02 Error MP: exception caught with cause java.lang.NullPointerException:
    2010-08-04 12:16:02 Error File processing failed with java.lang.NullPointerException: 
    Our Current PI level: 7.10.7.33
    Patch Level: 33
    Please advice.
    XIer

    Hi,
    Please go through all the settings for the modules once again - check for any space or other such character present or if some name is not correctly specified.
    If you still get the error, then make some change to the channel and re-activate.
    Also, make sure you are following the below sequence in the sender file channel-
    ModuleName                                                   Type              ModuleKey
    AF_Modules/RequestResponseBean      Local Enterprise Bean     1
    CallSapAdapter                                        Local Enterprise Bean     2
    AF_Modules/ResponseOnewayBean     Local Enterprise Bean     3
    Parameters
    ModuleKey                    ParameterName                   ParameterValue
    1                                       passThrough                          true
    3                                        receiverChannel                Receiver File Adapter Name
    3                                        receiverService                  Receiver Business Service
    Hope this helps.
    Regards,
    Neetesh

  • JDBC Async-Sync bridge does not work

    Hi folks.
    I read the how to guide “How To Realize a sync-async and async-sync bridge within the Adapter Framework” and I found some tips at SDN (i.e File - RFC - File without a BPM - Possible from SP 19.) . So on, I created a scenario JDBC<=>SOAP.
    My scenario:
    1 JDBC adapter sends an async request to SOAP
    2 SOAP creates an object in its system and then sends a sync confirmation response to the sender (async JDBC adapter Receiver)
    Module Tab of JDBC Sender
    Processing Sequence
    AF_Modules/RequestResponseBean          1
    CallSapAdapter                    2
    AF_Modules/ResponseOnewayBean     3
    Module Configuration
    1 passThrough     true
    3 adapterNamespace     http://sap.com/xi/XI/System
    3 adapterType          JDBC
    3 receiverChannel     JDBC_Object_Receiver
    3 receiverService     Legacy_Service
    The problem is the scenario works fine until an error is detected on communication channel (Receiver). Any kind of error, as communication problem, insert/update problem or procedure types problem. When this thing happens, communication channel (Sender) posts the next message and a persist error appears, like that
    <SAP:Category>XIServer</SAP:Category>
    <SAP:Code area="PERSIST">MSGGUID_EXISTING</SAP:Code>
    <SAP:Stack>Message ID XXXX for pipeline CENTRAL, version already exists in system</SAP:Stack>
    <SAP:Retry>N</SAP:Retry>
    After this, all the next messages remain at "Processing started".
    This persist error message becomes constant in the system. It is executed once an hour approximately.
    I have already tried solving this problem deleting the adapter and recreated it again, but the behavior remains the same.
    This is the SOAP Header Main
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--
    Inbound Message
      -->
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SOAP:Header>
    - <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
      <SAP:MessageClass>SystemError</SAP:MessageClass>
      <SAP:ProcessingMode>synchronous</SAP:ProcessingMode>
      <SAP:MessageId>6F5A54B3-96DF-C744-8BF6-A4D4B9289C5D</SAP:MessageId>
      <SAP:RefToMessageId>F6BC6270-D94A-11DB-B6D0-00188B40F2CF</SAP:RefToMessageId>
      <SAP:TimeSent>2007-03-23T14:31:30Z</SAP:TimeSent>
    - <SAP:Sender>
      <SAP:Service />
      <SAP:Interface namespace="" />
      </SAP:Sender>
    - <SAP:Receiver>
      <SAP:Party agency="" scheme="" />
      <SAP:Service>VUC</SAP:Service>
      <SAP:Interface namespace="http://oesp0115/xi/webservices">Cliente_THOR_OB</SAP:Interface>
      </SAP:Receiver>
      <SAP:Interface namespace="http://oesp0115/xi/webservices">Cliente_THOR_OB</SAP:Interface>
      </SAP:Main>
    - <SAP:ReliableMessaging xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:QualityOfService>BestEffort</SAP:QualityOfService>
      </SAP:ReliableMessaging>
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="PERSIST">MSGGUID_EXISTING</SAP:Code>
      <SAP:P1>F6BC6270D94A11DBB6D000188B40F2CF</SAP:P1>
      <SAP:P2>CENTRAL</SAP:P2>
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Message ID F6BC6270D94A11DBB6D000188B40F2CF for pipeline CENTRAL, version already exists in system</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    - <SAP:HopList xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    - <SAP:Hop timeStamp="2007-03-23T14:31:30Z" wasRead="false">
      <SAP:Engine type="AE">af.xid.oesp0115</SAP:Engine>
      <SAP:Adapter namespace="http://sap.com/xi/XI/System">XIRA</SAP:Adapter>
      <SAP:MessageId>F6BC6270-D94A-11DB-B6D0-00188B40F2CF</SAP:MessageId>
      <SAP:Info />
      </SAP:Hop>
    - <SAP:Hop timeStamp="2007-03-23T14:31:30Z" wasRead="false">
      <SAP:Engine type="IS">is.00.oesp0115</SAP:Engine>
      <SAP:Adapter namespace="http://sap.com/xi/XI/System">XI</SAP:Adapter>
      <SAP:MessageId>F6BC6270-D94A-11DB-B6D0-00188B40F2CF</SAP:MessageId>
      <SAP:Info>3.0</SAP:Info>
      </SAP:Hop>
      </SAP:HopList>
    - <SAP:RunTime xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Date>20070323</SAP:Date>
      <SAP:Time>113130</SAP:Time>
      <SAP:Host>oesp0115</SAP:Host>
      <SAP:SystemId>XID</SAP:SystemId>
      <SAP:SystemNr>00</SAP:SystemNr>
      <SAP:OS>Windows NT</SAP:OS>
      <SAP:DB>DB6</SAP:DB>
      <SAP:Language />
      <SAP:ProcStatus>023</SAP:ProcStatus>
      <SAP:AdapterStatus>000</SAP:AdapterStatus>
      <SAP:User>PIAFUSER</SAP:User>
      <SAP:TraceLevel>1</SAP:TraceLevel>
      <SAP:Logging>1</SAP:Logging>
      <SAP:LogSeqNbr>000</SAP:LogSeqNbr>
      <SAP:RetryLogSeqNbr>000</SAP:RetryLogSeqNbr>
      <SAP:PipelineIdInternal>SAP_CENTRAL</SAP:PipelineIdInternal>
      <SAP:PipelineIdExternal>CENTRAL</SAP:PipelineIdExternal>
      <SAP:PipelineElementId />
      <SAP:PipelineService />
      <SAP:QIdInternal />
      <SAP:CommitActor>X</SAP:CommitActor>
      <SAP:SplitNumber>0</SAP:SplitNumber>
      <SAP:NumberOfRetries>0</SAP:NumberOfRetries>
      <SAP:NumberOfManualRetries>0</SAP:NumberOfManualRetries>
      <SAP:TypeOfEngine client="001">CENTRAL</SAP:TypeOfEngine>
      <SAP:PlsrvExceptionCode />
      <SAP:EOReferenceRuntime type="TID" />
      <SAP:EOReferenceInbound type="TID" />
      <SAP:EOReferenceOutbound type="TID" />
      <SAP:MessageSizePayload>1304</SAP:MessageSizePayload>
      <SAP:MessageSizeTotal>3744</SAP:MessageSizeTotal>
      <SAP:PayloadSizeRequest>1304</SAP:PayloadSizeRequest>
      <SAP:PayloadSizeRequestMap>0</SAP:PayloadSizeRequestMap>
      <SAP:PayloadSizeResponse>0</SAP:PayloadSizeResponse>
      <SAP:PayloadSizeResponseMap>0</SAP:PayloadSizeResponseMap>
      <SAP:Reorganization>INI</SAP:Reorganization>
      <SAP:AdapterOutbound>AENGINE</SAP:AdapterOutbound>
      <SAP:InterfaceAction>INIT</SAP:InterfaceAction>
      <SAP:RandomNumber>14</SAP:RandomNumber>
      <SAP:AckStatus>000</SAP:AckStatus>
      <SAP:SkipReceiverDetermination />
      <SAP:Sender_Agreement_GUID>56A2F666C66538F48BCD76B50034F91C</SAP:Sender_Agreement_GUID>
      </SAP:RunTime>
    - <SAP:PerformanceHeader xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SAP:RunTimeItem>
      <SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name>
      <SAP:Timestamp type="begin" host="oesp0115">20070323143130.699</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name>
      <SAP:Timestamp type="end" host="oesp0115">20070323143130.714</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
      <SAP:Timestamp type="begin" host="oesp0115">20070323143130.714</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
      <SAP:Timestamp type="end" host="oesp0115">20070323143130.714</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
      <SAP:Timestamp type="end" host="oesp0115">20070323143130.87</SAP:Timestamp>
      </SAP:RunTimeItem>
      </SAP:PerformanceHeader>
    - <SAP:Diagnostic xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:TraceLevel>Information</SAP:TraceLevel>
      <SAP:Logging>Off</SAP:Logging>
      </SAP:Diagnostic>
    - <SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30">
      <Trace level="1" type="T">Party normalization: sender</Trace>
      <Trace level="1" type="T">Sender scheme external = XIParty</Trace>
      <Trace level="1" type="T">Sender agency external = http://sap.com/xi/XI</Trace>
      <Trace level="1" type="T">Sender party external =</Trace>
      <Trace level="1" type="T">Sender party normalized =</Trace>
      <Trace level="1" type="T">Party normalization: receiver</Trace>
      <Trace level="1" type="T">Receiver scheme external =</Trace>
      <Trace level="1" type="T">Receiver agency external =</Trace>
      <Trace level="1" type="T">Receiver party external =</Trace>
      <Trace level="1" type="T">Receiver party normalized =</Trace>
      <Trace level="1" type="B" name="CL_XMS_HTTP_HANDLER-HANDLE_REQUEST" />
    - <!--
      -->
      <Trace level="1" type="T">XMB was called with URL /sap/xi/engine?type=entry</Trace>
      <Trace level="1" type="T">COMMIT is done by XMB !</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-ENTER_XMS" />
    - <!--
      -->
      <Trace level="1" type="B" name="CL_XMS_MAIN-SET_START_PIPELINE" />
    - <!--
      -->
      <Trace level="1" type="B" name="SXMBCONF-SXMB_GET_XMB_USE" />
      <Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV" />
      <Trace level="1" type="T">****************************************************</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">XMB entry processing</Trace>
      <Trace level="1" type="T">system-ID = XID</Trace>
      <Trace level="1" type="T">client = 001</Trace>
      <Trace level="1" type="T">language = E</Trace>
      <Trace level="1" type="T">user = PIAFUSER</Trace>
      <Trace level="1" type="Timestamp">2007-03-23T14:31:30Z BRAZIL</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">****************************************************</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_UC_EXECUTE">
      <Trace level="1" type="T">Message-GUID = F6BC6270D94A11DBB6D000188B40F2CF</Trace>
      <Trace level="1" type="T">PLNAME = CENTRAL</Trace>
      <Trace level="1" type="T">QOS = BE</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC" />
    - <!--
      -->
      <Trace level="1" type="T">Get definition of external pipeline CENTRAL</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID" />
      <Trace level="1" type="T">Corresponding internal pipeline SAP_CENTRAL</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
    - <Trace level="1" type="B" name="interface activity determination">
      <Trace level="1" type="T">Version 000</Trace>
      <Trace level="1" type="T">Message status 000</Trace>
      <Trace level="1" type="T">Interface action INIT</Trace>
      <Trace level="1" type="T">(must be INIT for a new determination)</Trace>
      <Trace level="1" type="T">Message type BEST EFFORT. -> No determination</Trace>
      <Trace level="1" type="T">Set interface action INIT into *MAST*</Trace>
      </Trace>
      </Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST">
    - <Trace level="1" type="B" name="interface activity determination">
      <Trace level="1" type="T">Version 000</Trace>
      <Trace level="1" type="T">Message status 000</Trace>
      <Trace level="1" type="T">Interface action INIT</Trace>
      <Trace level="1" type="T">(must be INIT for a new determination)</Trace>
      <Trace level="1" type="T">Message type BEST EFFORT. -> No determination</Trace>
      <Trace level="1" type="T">Set interface action INIT into *MAST*</Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="T">SystemError message generated. Guid: 6F5A54B396DFC7448BF6A4D4B9289C5D</Trace>
      <Trace level="1" type="T">Error during execution of message : F6BC6270D94A11DBB6D000188B40F2CF</Trace>
      <Trace level="1" type="T">ApplicationMessage was (=RefToMsgId): F6BC6270D94A11DBB6D000188B40F2CF</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--
      -->
    - <Trace level="1" type="B" name="interface activity determination">
      <Trace level="1" type="T">Version 000</Trace>
      <Trace level="1" type="T">Message status 000</Trace>
      <Trace level="1" type="T">Interface action INIT</Trace>
      <Trace level="1" type="T">(must be INIT for a new determination)</Trace>
      <Trace level="1" type="T">Message type BEST EFFORT. -> No determination</Trace>
      <Trace level="1" type="T">Set interface action INIT into MAST</Trace>
      </Trace>
      </SAP:Trace>
      </SOAP:Header>
    - <SOAP:Body>
      <SAP:Manifest xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7" />
      </SOAP:Body>
      </SOAP:Envelope>
    Someone can help me?
    Regards
    Rafael

    Hey Rafael,
    I've heard of ur problem by Carol Garcia.
    I still think the problem was related to the fact that you were commiting the work at JDBC adapter, even though your DB (it was Oracle, right?) supports internal commit. I do aggree that this scenario should work for non-commiting DBs, though. Thus it is a bug, and the note is relevant.
    Anyway, did you try to commit the work at DB side? I think it should have resolved your case (even though the bug would still exist, but it would not impact you).
    Regards,
    Henrique.

  • Problem with JMS Correlation i Async/Sync bridge

    This is my scenario:
    I’m receiving a request message from the JMS-adapter and forward this via a async/sync bridge to CRM. I’m using a synchronous proxy in CRM. I want to send the response from this proxy back to MQ via the JMS adapter and put my original JMS Message ID in the JMS Correlation ID in the response message.
    I’ve read about how to configure this in the pdf-document “How to Correlate JMS messages”.
    I did as suggested and that is as follows.
    1.     In my receiver channel I set the Correlation Setting “Set XI Conversation ID To”=JMSMessageID.
    2.     In my integration process (“async/sync-bridge”) I set the Conversation ID in my async send step to the Conversation ID of my request message.
    3.     In my sender channel I set the Correlation Setting “Set JMSCorrelationID To”=XI Conversation ID.
    When I test my scenario I get the following error:
    “New JMS message cannot be correlated with the XI message although it is configured. Unable to set because correlation value is null. Correlation rule: XI_CONVERSATIONID, correlated property: JMSCorrelationID”
    I thought that my Conversation ID should carry the value of my initial JMS Message ID. I know that this is not null.
    Can somebody please help me?
    Kind regards.
    /Helé

    Hi Wallace,
    I tried to set the Conversation ID to the Correlation ID instead but I still get the same error.
    The sending application needs to correlate the request message with the corresponding response and since we are using MQ this is the way to do it.
    regards.
    /Helé

  • Alerts and Error handling in BPM Async/Sync Bridge

    Hello All,
    I am developing an Async/Sync Bridge in BPM for sending a request from ECC webservice asychronously to a front end application synchronously using BPM Async/Sync Bridge. I get a response from the front end to PI and stays there.
    It wont be send back to ECC. What are the possibilities of error handling required in this type of scenario.
    Thanks
    Deno

    . I get a response from the front end to PI and stays there.
    Then it should mean that the BPM design is faulty...did you have a send step at the end which closes the Async-Sync Bridge by sending the message to original sender?
    In SXMB_MONI --> For BPM message processing there will be a link called PE...click it...check the graphic workflow...see till where the message has processed.
    error handling
    include your Sync send step whithin a Block....this block will have an Exception Branch....in this exception branch you can have your Exception handling logic...like raise alert, cancel process etc.
    Regards,
    Abhishek.

  • Async/Sync Bridge JMS/File

    Hello,
    An Async/Sync Bridge with usage of the JMS adapter is described in several blogs. Is there a chance to use the JMS Adapter as a sender system and a File Adapter as the receiver system in such a scenario?
    Any suggestions are appreciated.
    Peter

    This "How To" Wiki should help you with the parameters you will need in the JMS Adapter.
    http://wiki.sdn.sap.com/wiki/display/XI/HowTo...ContentconversionmodulewithJ2EEJMS+adapter
    You can go to/from files with no problem, and you don't need the Business Process Engine.

  • Concurrency for JMS Sender Adapter - Async/Sync Bridge

    Hi,
    We have implemented a number of Async/Sync bridges using JMS Adapters, and are encountering problems scaling the solution.
    Async-Sync Bridge Scenario:
    JMS Sender Adapter -> Integration Server -> Sync ABAP Proxy (CRM) ->  JMS Receiver Adapter
    The bridge is using the Adapter Framework modules: RequestResponseBean & ResponseOnewayBean within the Sender Adapter.
    The problem is that concurrency of processing seems to be driven from the number of Java Server Cluster Nodes on the Adapter Engine.  The JMS sender adapters do not appear to read from the external messaging system (MQ) in a concurrent fashion.  They appear to process in a sequential manner per Adapter:
    1. Read from request Message Queue (MQ)
    2. Send request for processing (IS)
    3. Wait response message
    4. Receive response message
    5. Write response message to Message Queue (MQ)
    6. Read from request Message Queue (MQ)
    7. Send request for processing (IS)
    8. Wait response message
    9....
    We need to be able to introduce some means of scaling the solution so that mesages can be read from the MQ request message queue in a concurrent manner.  Hopefully we can do this without adding more javer server nodes to the Adapter Engine.
    We were looking intot he possibility of tuning AS Java properties that control the number of connections to the Messaging System of the Adapter Engine but this has not provided a solution.
    Any information on  this topic would be much appreciated.
    regards
    Murray

    As far as I know, the only wasy for JMS adapter to do concurrent reads from a queue is by having multiple server nodes. This is document in note 856346, point 6.2
    Thanks
    KK

  • Async-sync bridge behavior

    Hello all,
    we have several scenarios where asynchronous JMS communication must be converted to synchronous RFC call. We use modules in sender JMS adapter to achieve this:
    JMS message (async) -> JMS sender channel's async-sync module -> XI (sync) -> sRFC -> XI (sync) -> JMS sender channel's sync-async module -> JMS receiver channel -> JMS message (async)
    This works perfectly when everything is OK and even when some problems occur (JMS rollback is performed). But in case of any problem in receiver JMS channel the behavior is arguable: Message is already processed in target system, response is lost forever and request is rolled back to sender queue to be processed again!
    The result is that message may be processed many times in the target system and the caller system does even never learn about it!
    We have transactional behavior set in our sender JMS channel with QoS Exactly Once. This QoS is not kept in case of receiver channel problem.
    SAP states that this is normal behavior of async-sync bridge implemented with modules (no-BPM way). But I think there should be normal asynchronous processing (some queue) used when the message is converted back to asynchronous form. Such message must never be lost in XI.
    Has anybody similar experience with async-sync bridging behavior in XI?
    Thanks
    Tomas

    This "How To" Wiki should help you with the parameters you will need in the JMS Adapter.
    http://wiki.sdn.sap.com/wiki/display/XI/HowTo...ContentconversionmodulewithJ2EEJMS+adapter
    You can go to/from files with no problem, and you don't need the Business Process Engine.

  • Async-Sync conversion: JMS-SOAP-MAIL

    Hi all,
    I'm making a async-sync scenario:
    JMS-SOAP-MAIL
    The SOAP interface is synchronous and JMS and MAIL are asynchrnouse.
    I have configured the sender JMS adapter as following:
    Modules
    <b>1- AF_Modules/RequestResponseBean - Local Enterprise Bean - 1
    2- CallSapAdapter-Local Enterprise Bean - 2
    3-AF_Modules/ResponseOnewayBean-3</b>
    Parameters
    <b>1 - passThrough - true
    3-receiverChannel - Receiver Mail Adapter Name
    3-receiverService - Receiver Business Service/ System</b>
    But I got such errors in the adapter:
    <i>2007-08-29 18:56:13     Success     Using connection JMS_http://sap.com/xi/XI/System. Trying to put the message into the receive queue.
    2007-08-29 18:56:13     Success     The XI response message for message bf7c9ea0-5650-11dc-8fae-001438c505fb(INBOUND) was successfully returned to the calling application.
    2007-08-29 18:56:13     Success     The message status set to DLVD.
    2007-08-29 18:56:13     Success     ROB: entering ResponseOnewayBean
    2007-08-29 18:56:13     Success     ROB: resuming the transaction
    2007-08-29 18:56:13     Success     ROB: calling the module processor ...
    2007-08-29 18:56:13     Success     MP: Entering module processor
    2007-08-29 18:56:13     Error     MP: Exception caught with cause com.sap.aii.af.service.cpa.impl.exception.CPAObjectKeyException: Value of key must not be null: ObjectId
    2007-08-29 18:56:13     Error     ROB: error during processing: com.sap.aii.af.mp.processor.ModuleProcessorException: Processing Error caused by: com.sap.aii.af.service.cpa.impl.exception.CPAObjectKeyException: Value of key must not be null: ObjectId</i>
    Any idea?
    Thanks!
    Regards,
    Hui

    Hi,
    Instead of using a JMS adapter can you try this with a File Adapter on the sender side?
    It worked for me with a File adapter or alternately try looking into this blog if it helps ( not sure if it will  tho)
    /people/sudheer.babu2/blog/2007/01/18/asyncsync-communication-using-jms-adapter-without-bpm-sp-19
    Regards
    Bhavesh

  • BPM - problem with async/sync

    Hi,
    I have created one BPM async/sync with properties below.
    RFC (async) -> BAPI(sync) -> JDBC(async)
    My RFC start the process, (next step) BPM execute BAPI and response one list of companies, in next step, JDBC insert or update the companies in SQL Server.
    RFC
    ZPI_SYNC_DATABASE
    BAPI
    ZSD_GET_COMPANY - the bapi only have EXPORTING in your definition.
    JDBC
    MI_EAI_SD_COMPANY.
    When i execute the process, not occurs errors, but in BPE Message appears the GREEN FLAG (in outbound status) with hit "Message scheduled on outbound side", sometime appears in Status one GREEN FLAG with hit "Scheduled".
    If i delete Receive of BAP (step), the BPM execute full, and not occurs the problem above.
    Then i think the problem is in BAPI(step), but i dont know what can to do.
    Can everyone help me?

    Yeap,
    Is "New Transaction" checked in Send BAPI and Send JDBC, but the problem still occur.
    See you other example:
    I have createad one new scenario.
    IDOC -> JDBC
    IDOC
    ZCLIENTE.ZCLIENTE01 interface.
    JDBC
    MI_EAI_SD_JDBC
    MAPPING between IDOC and JDBC
    Senders and Receivers configured;
    I execute IDOC and one pass for mapping, no problem.
    But the not launch JDBC Adapter.
    I see in Message Monitoring and there arent errors, but hava one GREEN FLAG in STATUS with hit "scheduled"
    The same error but now without BPM.

  • Async sync bridge question

    Hello,
    I need expert advice regarding what is the best way to remove Async sync Bridge.
    I am using the bridge from SAP to java application get message back. But I am not using to get any data, just to confirm that my message reached my java application.
    Since I am not using to get data back in Sync call, i am planning to remove it since this is ver y resource consuming.  On the other hand, i am palnning to use Async call and ackonowledgement.
    If i use Async call, I have to depend on Xi queue for data synchronization. is there any other way that I can make sure my data is synchronised in SAP and java appl.
    Thanks,
    Srinivasa

    Hey
    By default SOAP adapter gives u a acknowledgement back in the form of a HTTP code(irrespective of you explicitly asking for it or not)HTTP 200 response code means success,you will see this in sxmb_moni.
    if you don't get HTTP 200 in sxmb_moni then you will see and error there(HTTP 400 i guess).
    >>Again, one basic doubt, is alert frmework can be implemented only in integraton process. or we can use for above case.
    Alerts can be configured for any interface,it need not be Integration process.
    You can configure alerts for your scenario and if u get HTTP 400 back you will see error in sxmb_moni and alert mechanism will trigger a e-mail to your account.
    >>How can i assure data synchronization if i use async call
    For Complete data synchronization you need a actual response from receiver system(not just HTTP return code)
    but if you are concerned only with data delivery to the receiver system and are not concerned with how he/she handles it after it has been received,then HTTP response code will do.
    Thanx
    Aamir

Maybe you are looking for

  • Error while sending a message  501 not implemented

    Hi all, running some tests checking some Xi interfaces we have the following problem : going to Runtime Workbench --> Component Monitoring --> Adapter Engine e clicking on the Tab "Test Message" we insert Service, Interface, Namespace, Quality of Ser

  • How can I get UK-only sites when I search on my iMac?

    Searching the web using Firefox often fills the list with completely irrelevant US-based site info. I want to focus much more helpfully by controlling where the info originates. Maybe there's somewhere in Preferences where I can set this, but I can't

  • Changing directory structure & song file locations: iTunes query

    I have an external hard-drive which I have loaded with thousands of songs over the years but have never really used it. Now, I want to organise my iTunes songs but my limited knowledge has brought me to a stop... Please help! On the external HDD, son

  • Variable creation in TestStand through CVI

    I have one steptype in which during Edit, the new variable has been created. I also saved that sequence. If I close that sequence file with that steptype and reopen the same sequence, the variable created last time was not there. I think these variab

  • SharePoint prompts for Credentials

    Hello, Users are experiencing pop-up message prompting credentials when they use SharePoint 2010 .  Users who use the Windows Explorer view often get the most prompts, but everybody is getting prompted for their username/password.  Some get prompted