Author |
Message
|
rajbuddha |
Posted: Thu Feb 02, 2012 11:11 pm Post subject: Unique identifier in Http Input header like MQ message ID |
|
|
 Apprentice
Joined: 02 Aug 2011 Posts: 47 Location: chennai
|
Hi Folks ,
I need to work on SOAP nodes , I am fine with that as well , But when i am trying to audit the message i need to have a unique id for that message to store like Mq message ID in MQMD header . I got by some googling like Session Identifier but i could not find it in http request header bu debug ... Can you please specify any field which is unique and Xpath for that as well..
Thanks in Advance .. _________________ -----------
Raju Buddha
Never Wait for your 2nd Opportunity..!Becoz it may be harder than the 1st One... |
|
Back to top |
|
 |
smdavies99 |
Posted: Thu Feb 02, 2012 11:34 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Take a look at the UUID related information in the infocentre. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
Esa |
Posted: Fri Feb 03, 2012 12:23 am Post subject: Re: Unique identifier in Http Input header like MQ message I |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
rajbuddha wrote: |
Hi Folks ,
I need to work on SOAP nodes , I am fine with that as well , But when i am trying to audit the message i need to have a unique id for that message to store like Mq message ID in MQMD header . I got by some googling like Session Identifier but i could not find it in http request header bu debug ... Can you please specify any field which is unique and Xpath for that as well..
Thanks in Advance .. |
If you are planning to track the whole chain of messages, as I think you are (and it's a good idea), you should use a 24 byte binary identifier that you can put in MQMD.CorrelId. The UUID mentioned by smdavies99 might apply, as it is a 16-byte number. Don't use the canonical 36-byte format. UUID is supported by ESQL and java and many more.
Afaik http header is extensible and you can add your own header fields. That requires naturally a contract between the client and the server applications. |
|
Back to top |
|
 |
rajbuddha |
Posted: Fri Feb 03, 2012 12:40 am Post subject: |
|
|
 Apprentice
Joined: 02 Aug 2011 Posts: 47 Location: chennai
|
Thank you every one for your posts . I got something like that only .
I got a field ReplyIdentifier under SOAP Reply node . I can use this as an identifier ..??? Kindly post your openion on the same _________________ -----------
Raju Buddha
Never Wait for your 2nd Opportunity..!Becoz it may be harder than the 1st One... |
|
Back to top |
|
 |
Esa |
Posted: Fri Feb 03, 2012 12:59 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
rajbuddha wrote: |
Thank you every one for your posts . I got something like that only .
I got a field ReplyIdentifier under SOAP Reply node . I can use this as an identifier ..??? Kindly post your openion on the same |
Yes, you can. It's a 24-byte identifier and it's quite common to use it for that purpose, put it in MQMD.CorrelId to be able to track a chain of messages in an audit log.
The only problem is that the http client is unaware of it and it does not get sent with the http response, as far as I know. From your original post I got the impression that you wanted to chain together audit log entries written by the http client and the broker... |
|
Back to top |
|
 |
rajbuddha |
Posted: Sat Feb 04, 2012 1:54 am Post subject: Using SOAP request Node |
|
|
 Apprentice
Joined: 02 Aug 2011 Posts: 47 Location: chennai
|
Hi Guys ,
I need info . I am using SOAP Reuqest Node in an Application (In WMB8) .
It is working as expected . But when i am trying to use with in an individual project i could not use WSDL ( i can paste but error is being shown ...saying it should be an application or library ) . Is there any way of using or iporting WSDL in individual project ..If so please suggest . If there is a strong reason behind using this in application then please suggest ...
Thanks in advance .....
As i am getting quick and acurate response i am posting MB queries also in this blog only. Some time i can see post has been moved into broker blod something . Please mention any best blog like MQseries for MessageBroker ... Thanks again ...... _________________ -----------
Raju Buddha
Never Wait for your 2nd Opportunity..!Becoz it may be harder than the 1st One... |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Feb 04, 2012 7:30 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Look in the properties of the incoming message. There should be something in form of a BLOB that is a response identifier or something like it...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Esa |
Posted: Mon Feb 06, 2012 12:59 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
fjb_saper wrote: |
Look in the properties of the incoming message. There should be something in form of a BLOB that is a response identifier or something like it...  |
No. ReplyIdentifier is used for correlation between SOAPInput and SOAPReply nodes. Afaik SOAPRequest does not send it or make any use of it. If you need to send it with the request, you must add it to the HTTP header yourself. And you need a contract with the service provider so that they know about it. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Feb 06, 2012 3:18 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
But when i am trying to use with in an individual project i could not use WSDL ( i can paste but error is being shown ...saying it should be an application or library ) . Is there any way of using or iporting WSDL in individual project |
In WMB v8 you can import WSDL into an application or a library. You cannot import WSDL into a standard message broker project. |
|
Back to top |
|
 |
mqbrks |
Posted: Wed Feb 08, 2012 9:56 am Post subject: |
|
|
Voyager
Joined: 17 Jan 2012 Posts: 75
|
rajbuddha wrote: |
Thank you every one for your posts . I got something like that only .
I got a field ReplyIdentifier under SOAP Reply node . I can use this as an identifier ..??? Kindly post your openion on the same |
Hi Raj,
ReplyIdentifier is not always a unique id. We had an issue when we have used the same (as it repeats at some occasions), so either you can use the UUID generated in ESQL or Java.
Hope this helps!
Thank You! |
|
Back to top |
|
 |
smdavies99 |
Posted: Wed Feb 08, 2012 10:49 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
mqbrks wrote: |
ReplyIdentifier is not always a unique id. We had an issue when we have used the same (as it repeats at some occasions), so either you can use the UUID generated in ESQL or Java.
|
It is unique when you add a timestamp into the equation.
In many cases I've come upon the two items together make a very nice primary key. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
NealM |
Posted: Fri Feb 10, 2012 10:31 am Post subject: |
|
|
 Master
Joined: 22 Feb 2011 Posts: 230 Location: NC or Utah (depends)
|
mqbrks said "ReplyIdentifier is not always a unique id." mqbrks, could you point out when it isn't?
Several years ago I requested from Hursley that they make the replyID's for MQ, HTTP, SOAP, and TCPIP nodes be of the same structure and interchangeable (e.g., A TCPIPServerInputNode's replyID in an asynchronous flow could be used as the ReplyID on an MQOutput node, then the separate response flow MQInputNode's received correlationID could then be set as the replyID in the final TCPIPServerOutput node to complete the request-reply scenario. Substitute HTTP or SOAP node pairs wherever you want in the example). My purpose was to make it unnecessary to store the unique identifier anyplace in an asychronous request-reply flow scenario. And they made some changes and agreed. We've been doing as above ever since on many, many flows without issue. If you inspect a replyID, part of it is a timestamp. Am I missing something here? |
|
Back to top |
|
 |
lancelotlinc |
Posted: Fri Feb 10, 2012 11:01 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
|
Back to top |
|
 |
mqbrks |
Posted: Mon Feb 20, 2012 1:21 pm Post subject: |
|
|
Voyager
Joined: 17 Jan 2012 Posts: 75
|
[quote="NealM"]mqbrks said "ReplyIdentifier is not always a unique id." mqbrks, could you point out when it isn't?
Sorry for the late response, I have been talking about the webservices using http nodes. in specific about HTTP.RequestIdentifier
-----The HTTP.RequestIdentifier set by the embedded listener is used for the correlation of short-lived objects while the message is in-flight and is not intended to be unique. Unfortunately, as you have discovered, this makes it unsuitable for use as a unique key for a transaction log.
I'm not sure of the specifics of the message flows involved but is there a possibility to generate a transaction key in a different way - perhaps through using something like the ESQL UUIDASCHAR function?
------
this was confirmed by Greg who is a IBM Representative. |
|
Back to top |
|
 |
mqbrks |
Posted: Mon Feb 20, 2012 1:23 pm Post subject: |
|
|
Voyager
Joined: 17 Jan 2012 Posts: 75
|
smdavies99 wrote: |
mqbrks wrote: |
ReplyIdentifier is not always a unique id. We had an issue when we have used the same (as it repeats at some occasions), so either you can use the UUID generated in ESQL or Java.
|
It is unique when you add a timestamp into the equation.
In many cases I've come upon the two items together make a very nice primary key. |
Adding the timestamp obviously increases the column size of DB Table.
Instead can't we consider generating unique id from esql built in funcs or java uuid funcs. |
|
Back to top |
|
 |
|