This topic has been locked.
4 replies Latest Post - 2013-01-29T14:15:20Z by kenhygh
Pinned topic Transaction Id for request generated by Results Asynchronous
Answered question This question has been answered.
Unanswered question This question has not been answered yet.
I have a particular scenario where I have to receive a request from client and send back response immediately as an acknowledgement. In the response rule back to the client I fire off a new request to Datapower using Results Asynchronous. I can easily get the transaction id for the current transaction. What I also need is the transaction id of the new request in this response rule to be sent back with the acknowledgement.
Updated on 2013-01-29T14:15:20Z at 2013-01-29T14:15:20Z by kenhygh
kenhygh 120000PD1B1308 PostsACCEPTED ANSWER
Re: Transaction Id for request generated by Results Asynchronous2013-01-24T10:57:45Z in response to SystemAdminI don't think you're going to get a transaction ID for a transaction that has not yet started.
If you need some kind of identifier that follows a request through various services, the typical solution is to inject a header of some sort. I often use DataPower's generate-uuid() function to create a UUID, then put it in a header. Downstream services and systems can then output that header in their logs for traceability.
SystemAdmin 110000D4XK6772 PostsACCEPTED ANSWER
Re: Transaction Id for request generated by Results Asynchronous2013-01-29T13:44:37Z in response to kenhygh
server ----> Results Async ----> Transformation -----> Client
The processing rule for the response contains the above in the sequence as shown. I hope to get the transaction Id since I am firing off the new request in the Results Async block before generating the acknowledgement in the Transformation block. Is there a chance if this is the case? :)
kenhygh 120000PD1B1308 Posts
msiebler 2700005RPQ140 PostsACCEPTED ANSWER
Re: Transaction Id for request generated by Results Asynchronous2013-01-24T10:57:55Z in response to SystemAdminThere isn't a way to get that; so I am not sure if this is the best way to solve your problem.
Also; be careful when using async actions; it is an easy way to make the DataPower box run OoM (outofmemory)
You need to use SLM to manage the number of total concurrent async actions