Dequeue jms message using business service

Hi,
I want to pull back messages from response queue based on correlation id using business service.
On receiving the message, i want to pass it on to the proxy service.
How do i achieve this ?
Thanks.

OSB : How to use JMS Correlation ID to associate Reqeust with the Response
Thanks
Manoj

Similar Messages

  • How to Read Message from JMS Queue using Business Service(ALSB3.0)

    Hi,
     My Project Set up is as follows(using ALSB3.0).
    1>One Proxy Service with transport as HTTP.
    2>The Proxy service is calling another Business Service.
    3>The Business Service has transport layer as JMS.
    So here the business service is posting Request Message into the JMS queue.
    I want at the same time it(The Business Service) should listen to another queue and from there it should read Response Message and forward back to the caller proxy service.
    Can any one help me regarding this...
    Thanks in advance...
    Deba

    Hi ,
    Problem in : Reading / writing messages to the JMS Queue -
    I am stuck with the same problem and I am not able to proceed futher, Can you please help me out in sending an example of how to do right configurations in ALSB and on the server. I read the documentation but still I dont see messages in the queues.
    please help me out. can you post a small sample example
    thanks
    adi

  • How to send HTTP POST message using Business Service ?

    Hi all,
    I need to call a service which accepts HTTP post, how can I achieve this using OSB Business Service ? Kindly post any documentation link related to this.
    Thank You
    Arun

    Basically to to create a business service to send to a HTTP post all you need to do to point the business service to the desired URL.
    In the OSB console you can test using the debug option. All you need to do is paste the XML you require and execute.
    If this works then you know your business services is sorted. Can you confirm you can complete up to this point?
    As Anuj correctly states you need to populate the body variable. This is the fundamental concept of OSB. All service calls request and respond using the body variable. So if you create a proxy service and route to the business service and provide NO routing. The proxy service will pass the input of the Proxy service to the input of the business service as the body has been populated by the Proxy service.
    cheers
    James

  • Dequeue jms messages using JMS adapter

    Hi,
    I have created jms server, modules, queue from console-messaging-jms modules.
    I am trying to create a soa composite to consume message from this queue.
    In JMS adapter wizard - step 7 - i have selected the destination queue. In this step, what should be the jndi name?
    do i need to update weblogic-ra.xml file?
    Can someone please point me to the steps/doc to create jms adapter to consume message from Oracle Weblogic JMS? (basically configure deployment descriptor)
    Thanks
    Ganesh

    By passing username/password in the outbound connection pool, i was able to connect to the secured weblogic jms..
    This was my config for eis/wls/Queue connection pool..
         AcknowledgeMode     java.lang.String     AUTO_ACKNOWLEDGE
         ConnectionFactoryLocation     java.lang.String     weblogic.jms.XAConnectionFactory
         FactoryProperties     java.lang.String     
         IsTopic     java.lang.Boolean     false
         IsTransacted     java.lang.Boolean     false
         Password     java.lang.String     weblogic123
         Username     java.lang.String     weblogic
    After making the change ( remember to hit enter after modifying password and username fields, else change wont persist) , i saved it with a new deployment plan and updated the deployment with the new plan. Then redeployed the composite containing the jms adapter and I am able to see a consumer created for the queue.

  • When we have to use business service?

    hi,
    In real time at what circumstance we will use business service instead of business systems?
    one more thing really we will come across this kind of scenario often or very rare case.
    kindly explain me with some real time situation with business landscape.
    regards
    Ruban
    Message was edited by:
            ruban R

    A Business service represents an abstract unit for addressing message senders and message receivers. You can use a business service to group interfaces.
    It is useful to use business services when configuring cross-company processes. Usually, the interface descriptions of the business partners involved are made publicly available. The system landscape is only partly known, however.
    Configuring Cross-Company Processes
    http://help.sap.com/saphelp_nw04/helpdata/en/da/7a2f41b239a831e10000000a1550b0/content.htm

  • Which situation we will use Business Service, and Business System?

    Hi <b>SAP XI Professionals</b>  ,
    Can U plz tell me What is Business Service and Business System? when we need to use Business Service?  what is diff between B.System and B. service?
    thank You
    with regards
    jai

    HI,
    Please see the below links
    Differentiate b/w Technical System, Business System and Business Service
    Difference between Business System and Business Service.
    Difference between Business System and Business Service in ID
    Difference between Business System and Business Service
    Business system ans service
    How can I create a Service in the Business System?
    advantage and diff   btw Business service n business system
    Logical system for business service!!!!!!!!!
    Regards
    Chilla..

  • Installing Secure Certificates in SOAP Scenarios using Business Service

    Hi All,
    We are working on SOAP synchronous scenarios and we are creating Business service for the same. IF We need to communicate through HTTPs protocol then will it be possible to install the SSL certificates as we are using Business Service ?
    It was said intalling certificates will only be possible when we use Business System but not Business Service.
    Regards
    Jayram

    The technical connection does not care about business system or business component. This limitation does not exist.
    Andreas

  • Can not dequeue JMS message of type SYS.AQ$_JMS_TEXT_MESSAGE using DBMS_AQ

    I'm having a problem using DBMS_AQ package to dequeue a JMS message of type SYS.AQ$_JMS_TEXT_MESSAGE that was put on the queue using Java JMS API.
    Both JMS header and payload return empty but if I do "select user_data" from the queue table, I can see the message.
    Appreciate any helps or tips.
    Kim

    This has been asked a lot of times - I'm not sure how my initial searching missed all of the other questions/answers related to this topic.
    In our case, the solution was to:
    1) Leave the queue as a sys.aq$_jms_text_message type
    2) Construct a sys.xmltype object with our desired payload
    3) Do a getStringVal() on the xmltype object and use that string as the payload for our queue message
    - Nathan

  • Producing A JMS message using OSB

    Hi all,
    I have a use case where I'm querying salesforce and the response which I get back should be produced as a message in JMS queue. Any thoughts?
    Thanks
    Karthick.G

    you could create a proxy service which will route to the saleforce service, response is coming back in $body.
    you create a new business service jms transport and endpoint to the queue you defined, and in the response pipeline you publish to this business service with $body input (or part of the $body, depends on the format of the message you want to publish, or you first transform it with an xquery and the publish it)

  • IDOC to File - Clarification needed while using business service.

    Hi all,
    I have 2 scenarios to be implemented in PI..one is IDOC to File and another one File to IDOC.File systems in the above mentioned scenarios are 2 different legacy applications when business is concerned.So i am creating separate business services for the two legacy apps.I have included ECC in SLD and created proper LS name corresponding to that maintained in partner profile in ECC.File to IDOC scenario is working fine.
    In the second scenario (i.e. IDOC to File) also i need to mention adapter-specific identifiers. But since i have already used the R/3 system id and client in the File to IDOC it is throwing an error while trying to activate the buss service.The XML message is failing at Receiver identification step when i have omitted r/3 sys id and client.In the acknowledgement i am getting the message as "Unable to convert the sender service INTEGRATION_SERVER_DEVPI to an ALE logical system"
    I have checked entire SDN but didnt find any solution for the same.
    Is there any work around for this issue?
    Rgds,
    Lekshmi.

    Hi,
      Go through these blogs....
    /people/rajeshkumar.pasupula/blog/2009/03/16/unable-to-convert-the-sender-service-to-an-ale-logical-system
    /people/michal.krawczyk2/blog/2005/03/29/xi-error--unable-to-convert-the-sender-service-to-an-ale-logical-system
    /people/sravya.talanki2/blog/2005/12/02/manipulating-idoc-control-records-from-payload
    Also chk these threads also.....
    Error: Unable to convert the sender service xxxxx to an ALE logical system
    Unable to convert sender service to an ALE logical system
    Might help you....
    Regds,
    Pinangshuk.

  • Mapping Exception when using Business service

    Hi
    I am using a business service for my IDOC to File scenario and its working fine. But when i am using the same Business service in many work spaces for the same scenario, its giving me an Mapping Exception and the one that was working also giving the same problem. Why its so and it could be solved by using a business system in the scenario. But how the problem is happening?
         Guide me through this.
    Thanks
      Vinod

    Hi, MK
    In XI 3.0 Exchange Infrasturcture, SXMB_MONI (XML Error messages) under SOAP Header --> Error
      <SAP:Stack>During the application mapping com/sap/xi/f/_mMa_Fle_To_SDS a com.sap.a.u.mc.i.BeRimEcepio a thown: Fatal Error: com.sap.enielbxlprr.Parser~</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
    I am looking container element to display this messages in my alert cagegory ???
    you know SXMB variables but i could't found to display this error how to found out SAP: stack variable please help
    Thanks

  • Retry count JMS message on Proxy Service

    I have a proxy service listening to a JMS Queue.
    It is a task service. I need to try some functionality. If an error occurs (probably because of an offline external service/ business service) I need to rollback and retry). I want to do this for example 5 times. If this fails I want to send it to an error queue
    I see the JMSXDeliveryCount going up. I though I could set this with the retry count field. But I see now it is for the response queue.
    The only way I can solve it is to put an error handler and look at the JMSXDeliveryCount . If it is above the number of retries I stop reraising.
    Is there another way?

    If you choose the service type as WSDL based or Any SOAP service, then OSB engine will deconstruct the incoming SOAP Envelope and populate the parts of envelope (Header, Body etc) to correct context variables automatically. This happens before the message flow of proxy service is initiated, so you can not do anything about it. In the proxy service you will receive the deconstructed SOAP message only.
    If you do however want to log the exact message which was received by OSB, then change the service type to (or create another proxy service in front of the existing proxy) Messaging type with binary or text content. Or you can also choose AnyXML service type, in which case the incoming SOAP Envelope will be available inside $body variable in message flow.

  • JMS/AQ: Setting properties for JMS message using PL/SQL

    I have created a procedure in PL/SQL that uses JMS messages, and now I need to include a property so that the subscriber can use a message selector to filter out unwanted messages. Is this possible using PL/SQL?
    A previous post said: "... But you can have properties in the message payload itself and also define selectors on the message content ...". But I looked at Sun's tutorial and there it said: "A message selector cannot select messages on the basis of the content of the message body."
    I have 300 different screens and messages apply only to one screen at a time. When the user is looking at screen 'A' I want him to only recieve messages that apply to screen 'A'. I thought I would do this with message selector, but is there any other way?
    Here is my code(borrowed from an earlier post)
    PROCEDURE ENQUEUE_JMS_MESSAGE AS
    BEGIN
    DECLARE
    Enqueue_options DBMS_AQ.enqueue_options_t;
    Message_properties DBMS_AQ.message_properties_t;
    Message_handle RAW(16);
    User_prop_array SYS.AQ$_JMS_USERPROPARRAY;
    Agent SYS.AQ$_AGENT;
    Header SYS.AQ$_JMS_HEADER;
    Message SYS.AQ$_JMS_TEXT_MESSAGE;
    Message_text VARCHAR2(100);
    BEGIN
    Agent := SYS.AQ$_AGENT('',NULL,0);
    User_prop_array := SYS.AQ$_JMS_USERPROPARRAY();
    Header := SYS.AQ$_JMS_HEADER( Agent, '', 'aq1', '', '', '', User_prop_array);
    Message_text := 'Message 1 from PL/SQL';
    Message := SYS.AQ$_JMS_TEXT_MESSAGE(Header, LENGTH(Message_text), Message_text, NULL);
    DBMS_AQ.ENQUEUE(queue_name => 'tstopic',
    Enqueue_options => enqueue_options,
    Message_properties => message_properties,
    Payload => message,
    Msgid => message_handle);
    END;
    END;
    -Christer

    Thanks for the answer. I managed to set the Correlation id and retrieve it using getJMSCorrelationID(). But I did not manage to use the MessageSelector on it. I have used the Topicbrowser which is not part of the JMS standard? I tried to enqueue the messages using Java too and tried to use the topicbrowser on both JMSCorrelationID and user defined properties withou success. Is there some special requirements of the TopicBrowser?
    Enumeration messages;
    oracle.jms.TopicBrowser browser =tsess.createBrowser(topic, "TS", "JMSCorrelationID = 'TST'");
    int count = 0;
    messages = browser.getEnumeration();
    if(messages.hasMoreElements())
    System.out.println("message"); //never executed
    dtxtmsg = (TextMessage)(tsub1.receiveNoWait()) ; //returns a message
    String corrID = dtxtmsg.getJMSCorrelationID(); //returns: TST
    Thanks for your help so far...it would really save my day if you have some ideas on this too!
    -Christer

  • Using Business Service that supports XML over HTTP in OSB

    Hi,
    I needed to integrate my system with another legacy system that supports communication only through XML over HTTP. I am just trying to understand much about this XML over HTTP. I think in OSB, this is possible only possible through REST interfaces.
    Is there any other way and what about HTTP bindings in WSDLs? can you please let me know if you have any insights.
    I have gone through the urls about REST interfaces given in these forums. But just wanted to confirm the following scenaiors possible in OSB.
    - Client will connect to SOAP based proxy service which will in turn call REST based business service.
    - Client will connect to REST base proxy service which will in turn call SOAP based business service.
    Following point is not clear from the URLs i went through so just wanted to confirm the following too:
    - Client will connect to REST base proxy service which will in turn call SOAP based business service. And is it possible to add anything in soap header before calling soap based business service..
    Thanks & Regards
    Siva

    Hi Siva,
    XML over HTTP is a general use case and OSB supports it very well. REST is a special case and should be used when required. To know more about REST you may refer -
    http://www.infoq.com/articles/rest-introduction
    Now coming to OSB, SOAP and simple XML are two different cases. If you are creating XML type service then it is not binded to a WSDL/XSD but SOAP based service should always be binded with a WSDL. You may add/modify transport headers in OSB.
    Evaluate your requirements and then decide what exactly you need to use. Few links which may be of your use -
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/configuringandusingservices.html#wp1150438
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/configuringandusingservices.html#wp1154255
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/configuringandusingservices.html#wp1141071
    section "Configuring Business Services using the HTTP Transport" here - http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/httppollertransport/transports.html#wp1083292
    http://blogs.oracle.com/jeffdavies/2009/06/restful_services_with_oracle_s_1.html
    http://blogs.oracle.com/jamesbayer/2008/07/using_rest_with_oracle_service.html
    Regards,
    Anuj

  • Browsing JMS messages using selector

    Requirement
    I want to browse for messages, using a selector.
    SENDER
    I'm sending messages in my Queue, with a property PARAMETER_ID set in it as.
    message.setStringProperty("PARAMETER_ID",param_id);
    Assume there are 4 messages sent in my Queue.
    1. Text=Message1,PARAMETER_ID=1233
    2. Text=Message2,PARAMETER_ID=4566
    3. Text=Message3,PARAMETER_ID=1233
    4. Text=Message4,PARAMETER_ID=4566
    RECEIVER
    I want to browse messages that have a certain PARAMETER_ID property set in it.
    So here's what I'll do.
    String myselector = "PARAMETER_ID=1233";
    QueueBrowser qb=session.createBrowser(queue,myselector );
    The QueueBrowser instance returned, should have 2 messages in it, that can be browsed.
    But I dont get any results and there's no exception.
    What am I doing wrong?
    btw - If I set the myselector to "", it returns me all 4 messages to browse.
    I'm using JBOSS with JMS 1.1
    Thanks

    4. Text=Message4,PARAMETER_ID=4566
    What is this ? is this msg in queue? what is
    PARAMETER_ID?that jms implementation appears to use PARAMETER_ID to identify its messages
    Header {
    jmsDestination : QUEUE.TMSQueueRemote
    jmsDeliveryMode : 2
    jmsExpiration : 0
    jmsPriority : 4
    jmsMessageID : ID:6-11824034000315
    jmsTimeStamp : 1182403400031
    jmsCorrelationID: null
    jmsReplyTo : null
    jmsType : null
    jmsRedelivered : true
    jmsProperties : {JMS_JBOSS_REDELIVERY_COUNT=1}
    jmsPropertiesReadWrite:false
    msgReadOnly : true
    producerClientId: ID:6
    Body {
    TEsf
    }MQ message implementation is different (but JMS-compliant)
    if you want to use message selectors by identifier, try jmsMessageID='123'

Maybe you are looking for