ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Aggregating messages form MQ and SOAP Request Node

Post new topic  Reply to topic
 Aggregating messages form MQ and SOAP Request Node « View previous topic :: View next topic » 
Author Message
Partha.Baidya
PostPosted: Fri Apr 23, 2010 4:06 am    Post subject: Aggregating messages form MQ and SOAP Request Node Reply with quote

Voyager

Joined: 05 Nov 2009
Posts: 97

Hi,

Is it possible to use the Aggregate nodes with a mix of MQ and SOAP requests?

The first aggregation will have request/response with MQ transport and second aggreation will have request/reponse with SOAP transport.

How is it possible to collect replies from MQ and SOAP request node and combines them into a single compound message?

Below is an outline of what I want to achieve, is this possible?

Code:

Request flow:

                                /--> compute --> MQOutput --> AggregateRequest
MQInput --> AggregateControl --
                                \--> compute --> SOAPRequest --> AggregateRequest

Response flow:

                 MQInput --\
                             --> AggregateReply --> Compute --> MQOutput


I tried a sample project but the code is having problem aggregating the response message comes from the SOAP request message.
The documentation says
Code:

If you want to correlate initial request messages with their combined response messages, you can do so using the ReplyIdentifier in the Properties folder of the response message.

But I thing for SOAP message there wont be any ReplyIdentifier.

Have any body worked with this kind of senario..?

Please guide me how to combine the aggreation from MQ node and SOAP node.

Regards,
Partha
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Apr 23, 2010 4:13 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

SOAPRequest is *synchronous*.

You also can't really use the Aggregate nodes with anything that is not using MQ.

Two choices:
request flow:
MQInput->compute->MQOutput
response flow:
MQinput->compute->SOAPRequst->Compute->MQOutput

OR
do what you already show but wrap SOAPRequest in MQInput/MQOutput.

If you need to do the two requests in parallel, the second is the better choice.
Back to top
View user's profile Send private message
Partha.Baidya
PostPosted: Fri Apr 23, 2010 5:31 am    Post subject: Reply with quote

Voyager

Joined: 05 Nov 2009
Posts: 97

Hi,

Thanks for your suggestion.
Actully I want a solution wherein I do not want to wrap SOAP Request node with MQInput/MQOutput.

Is there any way so that I can combine the SOAP response along with MQ response after the AggregateReply Node without using MQInput/Output wrapper with SOAP resoonse?

Regards,
Partha
Back to top
View user's profile Send private message
harish_td
PostPosted: Mon Apr 26, 2010 6:15 pm    Post subject: Reply with quote

Master

Joined: 13 Feb 2006
Posts: 236

As Jeff pointed out, Aggregate Nodes can only work with MQ.

Perhaps the collector node could answer your requirement.
http://www.ibm.com/developerworks/websphere/library/techarticles/0805_coleman/0805_coleman.html
Back to top
View user's profile Send private message Yahoo Messenger
mqjeff
PostPosted: Tue Apr 27, 2010 3:58 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

You don't need aggregation or correlation to combine a single MQ message with the output of a single SOAPRequest.

SOAPRequest is *synchronous*!
Back to top
View user's profile Send private message
mqseries0209
PostPosted: Wed Apr 28, 2010 5:50 am    Post subject: Reply with quote

Voyager

Joined: 30 Mar 2006
Posts: 90

Your requirement can be done ...
I have used MQ and FileNodes with aggregate nodes.

All you have to do is make sure you create a localEnvironment tree with replyidentifier if it does not exist, its a tree and you can manually create it. In our case the replyidentifier was file name (as blob) which was unique.

And when we recieve response, the same file name is converted and read as correlationID/replyidentifier and the responses are correlated.

basic idea is there should be some identifier for each aggregateRequest propgated, that can be read again and set as correlationID/identifier in response ..

Sorry if Iam not clear enough, but this should give you an Idea to start with.
_________________
IBM Certified Solution Developer - WebSphere Message Broker V6.1

IBM Certified Solution Developer - WebSphere Integration Developer V6.0
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Apr 28, 2010 7:05 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

The requirement can be done WITHOUT USING AGGREGATION AT ALL. There's no reason to fake up something to add in aggregation unnecessarily.

The only times you need aggregation are when you have multiple asynchronous request/response processes or when you need to execute several operations in parallel and combine the results.

That is not the case here.

That is not the case when combining a single file with a single MQ request/response.
Back to top
View user's profile Send private message
skidewd
PostPosted: Mon May 03, 2010 12:38 pm    Post subject: Reply with quote

Novice

Joined: 20 Mar 2010
Posts: 12

mqjeff wrote:
You don't need aggregation or correlation to combine a single MQ message with the output of a single SOAPRequest.
SOAPRequest is *synchronous*!


may not be relevant for this particular scenario, but Broker does provide a pair of AsyncSOAPRequest/AsyncSOAPResponse nodes if you want to make SOAP using async invocation pattern...
Back to top
View user's profile Send private message
ovasquez
PostPosted: Wed Dec 01, 2010 4:47 pm    Post subject: Reply with quote

Centurion

Joined: 09 Dec 2005
Posts: 141
Location: Lima, Peru

skidewd wrote:
mqjeff wrote:
You don't need aggregation or correlation to combine a single MQ message with the output of a single SOAPRequest.
SOAPRequest is *synchronous*!


may not be relevant for this particular scenario, but Broker does provide a pair of AsyncSOAPRequest/AsyncSOAPResponse nodes if you want to make SOAP using async invocation pattern...


AsyncSOAPRequest/AsyncSOAPResponse nodes work only when WS support WS-addressing, so is not for ALL WS.
_________________
Oscar Vásquez Flores
Back to top
View user's profile Send private message Send e-mail
Hugh_Everett
PostPosted: Tue Dec 09, 2014 8:43 am    Post subject: Do the above still apply in December 2014 (IIB V9.0.0.2) Reply with quote

Novice

Joined: 08 Jul 2001
Posts: 19
Location: Manchester, UK

Given the age of the original post, and the original replies, can I please ask whether anything has changed in the past 4 years or whether the above comments still hold true ?

Essentially I'm asking: is it still the case that Aggregation only really "works" with MQ i/o ? And so if I want to aggregate the responses from two separate SOAP/HTTP WebService calls, I have to wrap them up in MQ i/o ?

In other words instead of this:
Code:

REQUEST FLOW
                                 /--> compute --> SOAPAsyncRequest1 --> AggregateRequest
SOAPInput --> AggregateControl --
                                 \--> compute --> SOAPAsyncRequest2 --> AggregateRequest

RESPONSE FLOW
SOAPAsyncResponse1 --\
                      --> AggregateReply --> Compute --> SOAPReply
SOAPAsyncResponse2 --/


I ought to do this:
Code:

REQUEST FLOW
                                /--> compute --> MQOutput(Rqs1) --> AggregateRequest
SOAPInput --> AggregateControl --
                                \--> compute --> MQOutput(Rqs2) --> AggregateRequest

INTERIM FLOW1
MQInput(Rqs1) --> SOAPRequest1 --> MQOutput(Rsp1)

INTERIM FLOW2
MQInput(Rqs2) --> SOAPRequest2 --> MQOutput(Rsp2)

RESPONSE FLOW
MQinput(Rsp1) --\
                 --> AggregateReply --> Compute --> SOAPReply
MQinput(Rsp2) --/

_________________
Hugh Everett
Manchester, UK
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Dec 09, 2014 8:56 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

You could merely wire the two AsyncResponse flows to a Collector node.
Code:

REQUEST FLOW
                /--> compute --> SOAPAsyncRequest1
SOAPInput --> --
                \--> compute --> SOAPAsyncRequest2


RESPONSE FLOW
SOAPAsyncResponse1 --\
                      --> collector--> Compute --> SOAPReply
SOAPAsyncResponse2 --/
But that's because you're already doing async soap requests.

If you had to do it with Sync Soap Requests, then you'd use Aggregation, and probably have to use MQ for the aggreation stuff. (because of transactionality)
Back to top
View user's profile Send private message
Hugh_Everett
PostPosted: Tue Dec 09, 2014 9:04 am    Post subject: Reply with quote

Novice

Joined: 08 Jul 2001
Posts: 19
Location: Manchester, UK

Thanks for that comment. I shall look at a Collector node as well. (I have also found some trickiness 'cos I am using Mapping nodes instead of the Compute nodes I show below, and the Local.Environment.ComIbmAggregateControlNode structure seems to be being discarded as a message passes through the Mapping node ..... but that's another issue, which I'm still working on.)
_________________
Hugh Everett
Manchester, UK
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Aggregating messages form MQ and SOAP Request Node
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.