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 » Cascade web service calls

Post new topic  Reply to topic
 Cascade web service calls « View previous topic :: View next topic » 
Author Message
mqsi_man
PostPosted: Fri Sep 27, 2013 12:39 pm    Post subject: Cascade web service calls Reply with quote

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
View user's profile Send private message
Simbu
PostPosted: Fri Sep 27, 2013 11:03 pm    Post subject: Re: Cascade web service calls Reply with quote

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
View user's profile Send private message
dogorsy
PostPosted: Fri Sep 27, 2013 11:25 pm    Post subject: Reply with quote

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
View user's profile Send private message
mqjeff
PostPosted: Sat Sep 28, 2013 6:06 am    Post subject: Reply with quote

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
View user's profile Send private message
lancelotlinc
PostPosted: Mon Sep 30, 2013 3:42 am    Post subject: Re: Cascade web service calls Reply with quote

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
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Cascade web service calls
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.