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...
DebaHi ,
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
ArunBasically 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
GaneshBy 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 RA 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
jaiHI,
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
JayramThe technical connection does not care about business system or business component. This limitation does not exist.
Andreas -
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.
KimThis 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.Gyou 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
VinodHi, 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;
-ChristerThanks 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
SivaHi 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
Thanks4. 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
-
How to use a WebService Model with String Arrays as its input parameter
Hi All, I am facing the following scenario - From WebDynpro Java i need to pass 2 String Arrays to a Webservice. The Webservice takes in 2 input String Arrays , say, Str_Arr1[] and Str_Arr2[] and returns a string output , say Str_Return. I am consumi
-
PC Suite is not restoring messages correctly
Hello everybody, ive searched couple of times but got nothing really useful, ive managed to create a valid csv file from my previous messages, and when i want to restore messages to phone via pc suite, with import function, everything is fine and mes
-
Why doesnt my ipod not connect to other device through bluetooth
Why doesn't my ipod touch 4g connect with other devices through bluetooth ?
-
ISE 1.1.1 - RegisteredDevices Identity Group
Working on building a ISE 1.1.1 system to match our internal security policies, and have hit a dilemma. Here goes: The requirement states that there need to be differing network authorization profiles for different device types: Domain PCs, Non-Domai
-
Recommended Media File Size for 56kbs connection
What would be the largest single media file size when developing an adobe presenter course deployed through and LMS keeping the min connection to 56kbs in mind? Our current standard is trying to keep each media file under 200k. Our courses typically