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 » Dynamic assigning of Binding operation of Soap Request Node

Post new topic  Reply to topic Goto page 1, 2  Next
 Dynamic assigning of Binding operation of Soap Request Node « View previous topic :: View next topic » 
Author Message
ruchir
PostPosted: Tue Oct 18, 2011 4:06 am    Post subject: Dynamic assigning of Binding operation of Soap Request Node Reply with quote

Guest




Hi All,

I having a scenario in which i have two flows :

First Flow : main flow is as

Soap Input NOde --> Extract Node --> Compute Node --> Soap Rquest Node --> Extract Node --> Compute Node --> Soap Reply

Second FLow : test flow i created and in that flow i m using as

Soap Input NOde --> Extract Node --> Compute Node --> Soap Reply Node

I m calling the test flow from main flow. Suppose i have 3 different operations in Soap Request node operation binding property , lets say as Operation 1, Operation 2 n Operation 3.

I m using soap ui for running the flow.

If i put soap message according to operation 1 and also setting the Soap Request node operation binding property as Operation 1. Then my flow is working fine. It is going to test flow n coming back normally.

But if i m putting soap message according to operation 1 and setting the Soap Request node operation binding property as Operation 2. Then my flow is not forming the message after compute node of test flow.

I have set
Code:
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.Action = 'Operation 2';


in the compute node of main flow and

Code:
SET OutputLocalEnvironment.Destination.SOAP.Reply.WSA.Action = 'Operation 2';


in the compute node of test flow.

I have also set the WS-Addressing in the input and request node.

Please help me where i m going wrong .
Back to top
mqjeff
PostPosted: Tue Oct 18, 2011 4:15 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Maybe I misunderstand you.

Are you asking why it fails when you send a message that requests operation 1, but specifies operation 2?

That is, are you asking why it fails when you send a bad message?

The operation is necessary to match the message.

SOAP defines a strict interface. The consumer MUST match the provider.
Back to top
View user's profile Send private message
ruchir
PostPosted: Tue Oct 18, 2011 4:24 am    Post subject: Reply with quote

Guest




Thanks for the reply.

I m asking if i am dynamically changing the binding operation of soap request node it is only working from main flow ro test flow. But when i m sending it from test flow to main flow it is not changing the binding operation but only taking the operation that i defined in soap request node, it is not changing the operation to, as i defined in compute node of test flow using the code :
Code:
SET OutputLocalEnvironment.Destination.SOAP.Reply.WSA.Action = 'Operation 2';


Please suggest me how to achieve it .
Back to top
lancelotlinc
PostPosted: Tue Oct 18, 2011 4:27 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

ruchir wrote:
Thanks for the reply.

I m asking if i am dynamically changing the binding operation of soap request node it is only working from main flow ro test flow. But when i m sending it from test flow to main flow it is not changing the binding operation but only taking the operation that i defined in soap request node, it is not changing the operation to, as i defined in compute node of test flow using the code :
Code:
SET OutputLocalEnvironment.Destination.SOAP.Reply.WSA.Action = 'Operation 2';


Please suggest me how to achieve it .


Here is how to accomplish your intent: you can create multiple message flows, each flow starts with a SOAPInput node, each SOAPInput node has a different Action assigned to it. Deploy all message flows to the same execution group, and that port assigned to that execution group will automatically and dynamically choose the right Operation to go with the right Message Flow.
_________________
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
mqjeff
PostPosted: Tue Oct 18, 2011 4:32 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

lancelotlinc wrote:
Here is how to accomplish your intent: you can create multiple message flows, each flow starts with a SOAPInput node, each SOAPInput node has a different Action assigned to it. Deploy all message flows to the same execution group, and that port assigned to that execution group will automatically and dynamically choose the right Operation to go with the right Message Flow.


You did not read the message that you replied to at all.

Ruchir - you have probably failed to instruct the compute node to pass the LocalEnvironment.
Back to top
View user's profile Send private message
ruchir
PostPosted: Tue Oct 18, 2011 5:49 am    Post subject: Reply with quote

Guest




mqjeff wrote:
Ruchir - you have probably failed to instruct the compute node to pass the LocalEnvironment.


Thanks for your reply. I tried the way i wrote in the below message.

Please suggest me how to instruct compute node to pass the LocalEnvironment.

I think setting
Code:
SET OutputLocalEnvironment.Destination.SOAP.Reply.WSA.Action = 'Operation 2';

will do the job. I tried setting compute mode property to Localenvironemt and message too.
Back to top
mqjeff
PostPosted: Tue Oct 18, 2011 6:17 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

ruchir wrote:
I tried setting compute mode property to Localenvironemt and message too.


Okay. That's what I meant.

Take a user trace

http://www-01.ibm.com/support/docview.wss?&uid=swg21177321

See what is being sent and done.
Back to top
View user's profile Send private message
mgk
PostPosted: Tue Oct 18, 2011 8:31 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

To change the Operation from the WSDL on the SOAPRequest node you use the override:

Code:
SET OutputLocalEnvironment.Destination.SOAP.Request.Operation = 'myOperation';


which is documented in the infocenter...

Kind regards,
_________________
MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Back to top
View user's profile Send private message
ruchir
PostPosted: Tue Oct 18, 2011 10:40 am    Post subject: Reply with quote

Guest




mgk wrote:
To change the Operation from the WSDL on the SOAPRequest node you use the override:


Code:
SET OutputLocalEnvironment.Destination.SOAP.Request.Operation = 'myOperation';



I tried that too, but it is also not doing the job. Hoping to have some other way around to do this.

mqjeff wrote:
Take a user trace


user trace for which part. The part where i m getting exception or for the main and test flow nodes reuqest and reply node respectively.
Back to top
ruchir
PostPosted: Thu Oct 20, 2011 3:01 am    Post subject: Reply with quote

Guest




Hi All,

I m still stuck there. Please suggest how to solve this issue.
Back to top
mgk
PostPosted: Thu Oct 20, 2011 3:14 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

Quote:
I tried that too, but it is also not doing the job


Then I suggest you make sure the "Compute Mode" setting on the Compute Node contains at least "LocalEnvironment" or "All", as they way I suggested above is the correct way to change the Operation dynamically for the SOAPRequest node.

Kind Regards,
_________________
MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Back to top
View user's profile Send private message
simon.starkie
PostPosted: Fri Jan 27, 2012 4:09 pm    Post subject: Reply with quote

Disciple

Joined: 24 Mar 2002
Posts: 180

...

Last edited by simon.starkie on Sat Jan 28, 2012 11:41 am; edited 2 times in total
Back to top
View user's profile Send private message
smdavies99
PostPosted: Fri Jan 27, 2012 10:35 pm    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

editing your post and using CODE tags would make your post a lot easier to read

I do hope you are moving off of V6.0 It went out of support last year. You should be looking at V7.0.0.3 as a minimum. I'd fully expect that V6.1 will go out of support by the end of the year.
_________________
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
View user's profile Send private message
simon.starkie
PostPosted: Fri Jan 27, 2012 10:51 pm    Post subject: Reply with quote

Disciple

Joined: 24 Mar 2002
Posts: 180

...

Last edited by simon.starkie on Sat Jan 28, 2012 11:41 am; edited 1 time in total
Back to top
View user's profile Send private message
smdavies99
PostPosted: Sat Jan 28, 2012 12:03 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

simon.starkie wrote:
But without a C-runtime, the custom HL7 V2 parser that is used extensively here will not work.


There is a C++ runtime in all versions of Broker. Broker wouldn't be able to work as fast as it does without the highly optimised C++ code used in many of the core nodes.

Can't your 'C' code be compiled under C++?

Perhaps it might be time to move to a more standard method of parsing HL7 messages? I know of a number of sites where they use HL7 and don't use a custom parser. I guess from the time that you have been registered here that you come from the V2.0.1/2.0.2 era. Back in those days, it was not uncommon to write your own parser. It was even part of the IBM training (optional though).
These days? I can't recall a custom parser question here for an awfully long time.
_________________
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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Dynamic assigning of Binding operation of 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.