|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Cascade web service calls |
« View previous topic :: View next topic » |
Author |
Message
|
mqsi_man |
Posted: Fri Sep 27, 2013 12:39 pm Post subject: Cascade web service calls |
|
|
Novice
Joined: 28 Aug 2013 Posts: 19
|
Hello,
We need to make cascading web service calls to multiple vendor services using same input message. If first service call fails then use original message to call second service, if second fails then call third and so on. If any of the service sends a non fault response then stop processing further and reply to destination system.
ie - MQInput -> Compute -> SOAPRequest -> SOAPReply
Java Compute (retrieve cache) -> SOAPRequest1 -> SOAPREply
Java Compute (retrieve cache) -> SOAPRequest2 -> SOAPReply
To retain the message, I have tried keeping the message in global cache and it seems to be working ok with a bit of performance lag.
Can someone please tell me if there is a better way to do a cascading of web services (any service for that matter) ?
Many thanks.
Message Broker version : 8.0.0.1 |
|
Back to top |
|
 |
Simbu |
Posted: Fri Sep 27, 2013 11:03 pm Post subject: Re: Cascade web service calls |
|
|
 Master
Joined: 17 Jun 2011 Posts: 289 Location: Tamil Nadu, India
|
mqsi_man wrote: |
Hello,
We need to make cascading web service calls to multiple vendor services using same input message. If first service call fails then use original message to call second service, if second fails then call third and so on. If any of the service sends a non fault response then stop processing further and reply to destination system.
ie - MQInput -> Compute -> SOAPRequest -> SOAPReply
Java Compute (retrieve cache) -> SOAPRequest1 -> SOAPREply
Java Compute (retrieve cache) -> SOAPRequest2 -> SOAPReply
To retain the message, I have tried keeping the message in global cache and it seems to be working ok with a bit of performance lag.
Can someone please tell me if there is a better way to do a cascading of web services (any service for that matter) ?
Many thanks.
Message Broker version : 8.0.0.1 |
Not sure about why you are using SoapReply node here which is wrong.You must have SoapInput with SoapReply node.
And also there is no need for using global cache. you can achieve your scenario using single ComputeNode with PROPAGATE and store SoapResponse in Environment Variables. |
|
Back to top |
|
 |
dogorsy |
Posted: Fri Sep 27, 2013 11:25 pm Post subject: |
|
|
Knight
Joined: 13 Mar 2013 Posts: 553 Location: Home Office
|
first of all, you need to upgrade to 8.0.0.2.
when you say SOAPReply I guess you mean you have a SOAPRequest node, and you get the soap reply into a compute/java compute node. You can save the original message in the Environment tree and then use in the compute node.
MQInput-->Compute-->SOAPRequest-->Compute--> good response, exit, bad response-->SOAPrequest2--> etc |
|
Back to top |
|
 |
mqjeff |
Posted: Sat Sep 28, 2013 6:06 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
DO NOT REINVENT THIS WHEEL.
There is a perfectly good sample of "Web Service Aggregation".
Use it. Learn it. Love it.
USE IT.
If you import it, and look at it, and don't understand it?
If you import it, look at it, and think "That's too heavy weight and complicated"?
That tells you why you should use it, because it's a much more complicated problem than you think! |
|
Back to top |
|
 |
lancelotlinc |
Posted: Mon Sep 30, 2013 3:42 am Post subject: Re: Cascade web service calls |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
mqsi_man wrote: |
Hello,
We need to make cascading web service calls to multiple vendor services using same input message. If first service call fails then use original message to call second service, if second fails then call third and so on. If any of the service sends a non fault response then stop processing further and reply to destination system.
ie - MQInput -> Compute -> SOAPRequest -> SOAPReply
Java Compute (retrieve cache) -> SOAPRequest1 -> SOAPREply
Java Compute (retrieve cache) -> SOAPRequest2 -> SOAPReply
To retain the message, I have tried keeping the message in global cache and it seems to be working ok with a bit of performance lag.
Can someone please tell me if there is a better way to do a cascading of web services (any service for that matter) ?
Many thanks.
Message Broker version : 8.0.0.1 |
Update your broker toolkit and runtime to a more recent fixpack.
InputRoot should always be treated as immutable (read-only). Subflows and FlowOrder nodes are a good way to do this. This technique is taught in the Developers training class. Since you are developing message flows, we can assume you are properly qualified to do so? _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|