Sync Proxy to JMS (MQSeries)

Hi All,
I have a scenario of Sync proxy to MQSeries.
Now suppose my MQ Series takes a long time to respond with the reply, then how do i handle such a situation as i dont want my proxy to be waiting for the reply (say for more than 2 min).
I dont want it to timeout but instead i need a reply sent back to my proxy informing MQ series took more time to respond back.
Suggestion wud be appreciated !!!!
ShaBZ~~~

Hi,
use sync bridge
<b>receive step</b> - sync receive
<b>send step</b> - sync to jms
wrap it in a timeout branch (in block) and in the exception
branch of this you can create a mapping
with text "it took more time then expected"
after the timeout time the message will
go to the exception branch and
map the outbput message with the text
<b>send step</b> to close the sync brigde
one way to do it:)
Regards,
michal

Similar Messages

  • Proxy to JMS Scenario: switch from sync to async proxy,does it makes sense?

    Hi @all,
    i've implemented a sync proxy to JMS scenario that works well. Backend is ECC 6.0 and Middleware is PI 7.1.
    Business Case: Run a request with a number and get a response back with a corresponding entry for the number. That means, there is always a response expected.
    Now the following thing appears: the receiver system could not handle many calls at one time (200 calls are planned at each run), the calls reduces the performance. Now gys at receiver system likes to develope a buffer of 10 seconds between the requests to handle some kind of load balancing with that. That means for the request that it the response takes +10 seconds back to backend. It is also possible to handle that in SAP backend with a waiting-statement in coding, so there is no need to go from sync to async - but the customer requested us to implement this scenario in async.
    JMS is always async, I know. But the Service Interfaces for Inbound and Outbound are of mode sync - so I can call my outbound Interface class in backend with Importing Output and Exporting Input.
    My question is: makes it sense to go from sync to an async scenario?
    And how looks the coding in backend for the response? I guess that it only makes sense to switch to async when no response entry is needed (example: for write operations).
    Thanks in Advance,
    Stefan

    > But in case of switching, what is the best way?
    > Should I implement 2 senarios? Or is it ok to switch the Inbound and Outbound Service Interface from sync to async?
    I don't think you need 2 scenarios for this. Just one is enough with different RDs.
    Over all in this case you have to re-create/modify the service interfaces and also you have to create 2 interface mappings. You have to also create the new inbound and outbound proxies since service interface mode will be changed. For outbound proxy the code can be reused and for inbound proxy also logic and code can be taken from your old code.

  • Java client for OSB proxy with JMS Transport

    Hi,
    I am trying to call OSB proxy with JMS Transport. I am generating the client through ant task clientgen and following this article
    http://www.oracle.com/technetwork/articles/murphy-soa-jms-092653.html
    The osb proxy is req-response and is simply routing to BS which return a string value.
    When I run my client, it get stuck and does not return at all. Has any one trying java client in such scenario?
    What I may be missing?
    Below is snipped of client code:
    String url = "http://localhost:7021/sbresource?PROXY/MySample/MyJMSProxyService";
    CreditLoanApprovalServiceSoapBindingQSService service = new CreditLoanApprovalServiceSoapBindingQSService_Impl(url);
    MyPortType port = service.getCreditLoanApprovalServiceSoapBindingQSPort();
    LoanStruct in = new LoanStruct(); //populated the data structure
    String loanResult = port.processLoanApp(in); // Stuck here without any error
    System.out.println("LoanResult--> " + loanResult);
    Thx
    /Ashwani

    http://localhost:7021/sbresource?PROXY/MySample/MyJMSProxyService is the WSDL URL of the proxy.
    Transport is is picked by the client from wsdl.
    As far as the documentation of client generation is there, there is no change.
    But meanwhile I have started working on sending the message directly to queue. JMSProxy is getting called. May be I will first run the proxy this way and then try troubleshooting the java client.
    Regards
    Ashwani

  • Proxy to JMS and JMS to Proxy - Szenario

    Hi @all,
    i've implemented an async scenario:
    Proxy to JMS (away, request)
    JMS to Proxy (way back, response)
    Backend is ECC 6.0 and Middleware is PI 7.1.
    Business Case: Run a request with a number, get an answer back with an entry. The number is an individual criteria which is not included in the answer. So I decided to write the number in JMSCorrelationID, therefore I've written an UDF in Message Mapping.
    I've checked the JMS Correlation ID in additional properties and also added this into the list of additional properties:
    key.0 -> read xxxx DCJMSCorreleationID
    value.0 -> DCJMSCorrelationID.
    First question: is there something what I should account for in JMS receiver channel?
    At the way back I've implemented another UDF for writing the JMSCorrelationID back to payload in message mapping.
    But I'm not sure that works. The coding looks like:
    try
    DynamicConfiguration conf = (DynamicConfiguration)
    container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey KEY_JMSCorrID = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS","DCJMSCorrelationID");
    String a = conf.get(KEY_JMSCorrID);
    catch(Exception e){}
    return a; //a is an input field for the payload back to SAP backend.
    Second question: is there something what I should accound for JMS sender channel? Do I need to add the DCJMSCorreleationID to the list of additional properties (JMS Correlation is checked)?
    Thanks in Advance,
    Stefan

    Hi,
    thank you for your answer.
    The Proxy to JMS scenario works well and overwrites the JMSCorrelationID given by a number from message payload.
    Could you please take a look at the given udf-coding that belongs to JMS to Proxy Scenario?
    Is it possible to get the JMSCorrelation at this way?
    I also put in JMS-Sender-Channel the JMSCorrelationID into the additional JMS-Message properties and checked "correlation-id from jms message" in adapter specific message attributes.
    In Module-Tab of JMS-Sender-Channel i put the module-configuration in a way like this:
    -> key.0 insert http://sap.com/xi/XI/System/JMS DCJMSCorreleationID
    -> value.0 DCJMSCorreleationID
    Do you think that works?
    I could not verify this configuration until I get an entry in outbound queue so I can't make tests to that.
    In Message Mapping - Test a Null Pointer Exception Occurs, according to the UDF, because I'm reading the DCJMSCorreleationID which is not present at mapping ad hoc test - I think that is ok.
    Thank you in Advance,
    Stefan

  • Correlation and Async/Sync Communication using JMS adapter without BPM

    Hello
    1. Pls explain with simple example docs/links --- Correlation
    2. Async/Sync Communication using JMS adapter without BPM
       If i see blog --- If I go with blog --- /people/sudheer.babu2/blog/2007/01/18/asyncsync-communication-using-jms-adapter-without-bpm-sp-19
    Pls explain --- Correlation Settings, select JMSMessageID for the XI Conversation ID.
    Pls explain --  Correlation Settings, select XI Conversation ID as jMSCorrelationID.
    Can you pls explain me this example with JMSMessageID and JMSCorrelationID context
    Regards

    Hi Henry,
    For Correlation, please go through the below link.
    /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
    Sync / Async Bridge communication using JMS : http://help.sap.com/saphelp_nw04s/helpdata/en/45/20d251c20a0732e10000000a155369/frameset.htm
    Sync / Async communication without BPM in JMS : /people/venkataramanan.parameswaran/blog/2007/01/18/syncasync-communication-in-jms-adapter-without-bpm-sp19
    /people/henrique.pinto/blog/2007/08/02/syncasync-scenarios-without-bpm
    Hope these help
    Regards
    Kiran..

  • Async/Sync Communication using JMS adapter without BPM

    Hello ,
    Pls suggest how Async/Sync Communication using JMS adapter without BPM .
    In my scenario I have JMS Sender and then RFC/JDBC as Sync and then again JMS receiver
    Pls explain  the concept of
    JMSMessageID and JMSCorrelationID  and how to use it by an example.
    Regards

    Hi,
    If you have selected JMSMessageID, JMSCorrelationID, or JMSProperty and entered a JMS message ID in these fields, you should see the Remove 'ID:' Marker from JMSMessageIDindicator. Set the indicator.
    This is necessary because the JMS specification stipulates that each JMS message ID starts with 'ID'. However, this conflicts with ISO-11578.
    - JMSMessageID (Uniqueness Is JMS-Provider-Dependent)
    (String) The unique message ID. Note that this is not a required field and can be null. Since the JMS provider might not use your provided message ID, the Connector sets a special property called $jms.messageid after sending a message. This is to insure that the message ID always is available to the user. To retrieve this value use conn.getProperty("$jms.messageid") in your After Add hook.
    - JMSCorrelationID (Uniqueness Is JMS-Sender-Dependent)
    (String) This header is set by the application for use by other applications.
    Hope this will help you.
    Regards
    Aashish Sinha
    PS : reward points if helpful

  • Soap to Sync Proxy

    Hello,
    I have a scenario wherein, am trying to go for Sync Soap and Sync Proxy.
    1. So it would be like Sync soap  <-> XI <-> Sync Abap proxy. Firstly, is this possible?
    2. Advisable to go in for BPM?
    3. Better to make, soap sender async -> BPM -> sync proxy -> soap receiver async?
    Which among the above would be a better approach and why?
    also, am not able to locate the sync proxy blog.,
    thanks,
    Vishal

    Hi,
    1. So it would be like Sync soap <-> XI <-> Sync Abap proxy. Firstly, is this possible? - Yes
    Which among the above would be a better approach and why? - The above first option is the best approach because it does not need the use of BPM and it can be designed and configured easily in XI.........Moreover since BPM is having performance issues because of the way BPM works, it is advisable to avoid BPM as much as possible.
    Regards,
    Rajeev Gupta

  • Sync Proxy alerting in SAP

    Hi,
    I have a scenario as follows:
    SAP sender sync proxy -> PI -> JDBC (action = update_insert)
    The JDBC receiver adapter will send back the number of records updated or inserted. My question is how to raise an alert in SAP based on the response from the JDBC adapter? For example if the result says no records were updated or inserted I would like to raise an alert in SAP/PI.
    Do I simply define the Sender Interface to include a response and standard fault? then use a suitable method to raise a fault exception in SAP? Can the fault on a sync proxy be used in this way?
    I know there is a blog that shows how to raise an alert for an async proxy scenario: Fault Message Types - A Demo (Part 1).
    Thanks
    Che

    Hi Che,
    The blog gives the details for fault response from receiver. In your case you will receive the response from JDBC in one format for successful and no update message.
    For your requirement, you can raise alert in UDF. But do you want to stop the message and raise alert? Or pass the message.
    Please check the below blog
    Hacking: To get error from the PI Mapping Mapping realtime.
    I think the response should go to sender (proxy) and alert or further action should handle in proxy.
    regards,
    Harish

  • Sync Proxy to SOAP Scenario

    HI All,
    Scenario: Sync Proxy to SOAP Scenario.
    just wanted to know below
    1) is it possible to Test the sync Scenario using SOAP UI or any other tools when SOAP is target?
    2)Is it possible to Trigger a Proxy Message  from ABAP system and Get the response back to ABAP when only proxy setting are done with out any coding in the ABAP? (Jus wanted to test whether scenario is working fine)
    Regards,
    Mani

    In a synch scenario, you only need to configure it like it is an asynch scenario. The only exception is that the service interfaces are synchronous. Each synch service interface requires at least two messages (request and response), fault message is optional. So for your scenario, at least four messages are required
    1.) 1st message (Outbound request) -> Proxy message type request that will be entering PI
    2.) 2nd message (Inbound request) -> Soap request message type going to the webservice
    3.) 3rd message (Inbound response) -> Soap response message type from webservice going to PI
    4.) 4th message (Outbound response) -> contains the message type that has the values that you want
    So the flow could be like this (fault messages not shown)
    Outbound SI (1) -> PI -> Inbound SI (2)     (4) <- PI <-            (3)
    Since you use abap proxy as client you dont need sender agreeement and sender communication channel. You need the receiver soap communication channel and receiver agreement.
    ID objects configuration
    1 Rec Determination,  1 Interface Determination, 1rec comm channel and 1receiver agreement.
    Map proxy request to soap request  first mapping
    Map soap response to proxy respones second mapping
    Operation mapping use outbound interface (proxy) on the source side and inbound interface (soap) on the target side. That's it. You will see both request and response mapping together.

  • Proxy-2-JMS Scenario: more than 10 additional JMS properties possible

    Hi @all,
    we're implementing a Proxy-2-JMS-Scenario. The JMS reciever side needs unfortunalety more than 10 additional JMS properties. In XI/PI the maximum number of additional JMS properties is 10.
    Do somebody know a good workaround in PI how to deal with it?
    Thanks and best regards,
    Stefan

    Hi @all,
    there is no way to handle with more than 10 additional jms properties for jms header.
    Best Greetings,
    Stefan

  • CcBpm Sync - Proxy

    Hi Guys,
    I've been trying to get this working since last week monday but I get the same error everytime I try some other approach.
    Its a simple Soap -> ECC (sync) -> Proxy interface. If this works I'll add a 2nd interface to the bpm.. Error I get: "The process does not support the given synchronous interface or does not support synchronous messages"
    in my bpm I've got 2 container parameters (outbound req & resp). I've got 3 steps in my process,
    receive (async) -> send (sync) -> send (async)     - gave me this error so I tried
    receiver S/A bridge open -> send (sync) -> send S/A bridge close       - still gave me this error.
    My opperation mapping has my outbound sync SI & my inbound sync SI.
    Config: soap sender to proxy receiver.
    Receiver Detr from soap -> bpm
    Receiver Detr from bpm -> ECC
    Receiver Detr from bpm -> soap
    Any idea where I the issue could be?
    Thanks,
    Jan

    https://service.sap.com/sap/support/notes/856597
    Q: To which URL can I send my SOAP message?
               A: The URL for your SOAP sender channel is
               http://host:port /XISOAPAdapter/MessageServlet?channel=p:s:c
               where host is the host name, port is the port number, p is the optional party name, s the service name, and c is the channel name, respectively.The URL given above is valid for 3.0/7.0/7.1.
               A new URL syntax is also valid and is recommended to be used. The URL for the SOAP sender channel is
               http://host:port /XISOAPAdapter/MessageServlet?senderParty=FP& senderService=FS& interface=IF&receiverParty=TP&receiverService=TS&interfaceNamespace=IFNamespace

  • Needs steps in ID(configaration) for Proxy to JMS scenario

    Hi All,
    Please can anybody give steps for Proxy to JMS scenario in Integration Directory .
    Thanks in advance.
    Regards,
    Kalpana

    kalpana,
    Create two communication channels in ID. One for Proxy(XI adapter) and another for JMS(JMS adapter). Then sender agreement, receiver agreement, receiver determination and interface determination.
    For JMS adapter please see this weblogs:
    /people/kan.th/blog/2007/02/05/exploring-jms-and-sap-xi-jms-adaper
    http://help.sap.com/saphelp_nw2004s/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    ---Satish

  • Need details for Proxy to JMS scenario.

    Hi Frnds,
    I am dealing with Proxy to JMS Scenario.
    Can anybody tell me the prerequisites for this scenario, proxy as well as JMS.

    Hi,
    Refer the below thread.
    Re: Proxy->XI->JMS
    Needs steps in ID(configaration) for Proxy to JMS scenario
    Thanks and regards,
    Chirag gohil.

  • Proxy to JMS szenario - two different receiver queues in production

    Hi guys,
    I've got the following async scenario: Proxy to JMS.
    Now I want to solve the following requirement:
    In production environment are 2 instances (hosts) with the jms queues, one as a "normal" and one for reliability in case of any network errors, as fail over. In fact: we've got two different receiver queues (on different hosts with different ports) in case of a host is not available.
    Is there a way to handle the second queue in receiver JMS-adapter?
    I thought about "replyTo destination" in ASMA with Dynamic Configuration:
    -> getting the hostname in Dynamic Configuration and see if we are on production instance (for test and development that doesn't matter)
    -> make a lookup in Dynamic Configuration to check the availability ot the default host
    -> in case of non-availability: overwrite the default host and default queue entry with the available host and available queue
    -> in ASMA: host & queue-entry in "additional properties"
    Any other suggestions are welcome
    If you have ideas far out from my thoughts feel free to tell
    Thanks a lot,
    Stefan

    I have already provided the details.
    And you need to have only one channel which can connect to both server.
    You don't need to create two different channel with two different host name.
    One channel with
    two host name ( Original server + Fail over server ) , paramter JMS.QueueConnectionFactoryImpl.constructor
    One queue name , parameter JMS.QueueImpl.constructor:
    What you need to do is, please create the SAME JMS queue in both servers and configure the fail over server as i mentioned earlier.
    Please configure the query string parameters in the receiver JSM channel ( Advanced-->Additional paramters )
    JMS.QueueConnectionFactoryImpl.classname:
    JMS.QueueConnectionFactoryImpl.constructor: As i mentioned in the earlier post
    JMS.QueueImpl.classname:
    JMS.QueueImpl.constructor: <<queue name>>
    Edited by: Rajesh on Aug 29, 2011 11:31 AM

  • Proxy to jms

    Hello
    Need to do a async proxy to jms scenario. Is there any blog for this ?
    on receviing side i need to connect to MS MQ : microsoft mq. is it possible via PI ?
    if given a option which adapter would you choose b/w  receiver jms or  jdbc ?
    thnks
    Edited by: sap_logic on Aug 10, 2010 4:25 AM

    Hi,
    Need to do a async proxy to jms scenario. Is there any blog for this ?
    This is a simple Proxy -> PI -> JMS scenario. Please search on SDN for such basic question.
    on receviing side i need to connect to MS MQ : microsoft mq. is it possible via PI ?
    Yes.
    if given a option which adapter would you choose b/w  receiver jms or  jdbc ?
    Completely depends on what the receiving system is and other details.
    Regards,
    Neetesh

Maybe you are looking for