Author |
Message
|
amvit |
Posted: Mon Mar 07, 2011 9:11 pm Post subject: RouteToLable node in Webservice |
|
|
Newbie
Joined: 03 Mar 2011 Posts: 4
|
Hello all,
I have a message flow exposed as a Webservice using SOAPInput node. e.g webservice operation is "helloservice"
I have used a RouteToLabel node in the message flow which has a ESQL compute node that sets the label.
Now in the compute node I have the following statement
Code: |
SET OutputLocalEnvironment.Destination.RouterList.DestinationData.labelname = 'mynode';
|
upon executing this service I am getting "Invalid label name" as an error and I tried to debug it. While debugging I noticed that the "DestinationData.labelname" has a initial value of "helloservice" assigned to it. When the statement above gets executed it appends another value "mynode" to it. When the flow proceeds it does not find node labelled "helloservice" and throws the exception.
I understood that because the default check-box that sets the destination list in a SOAPInput node is checked the Destination was already set. The flow worked fine when I unselected the check box.
Though I did not understand the following two things
1) Implication of unselecting the check-box
2) More importantly how can I just override the DestinationData.labelname to the new value instead of appending to the original value.
I am kind of novice to this WMB stuff so please bare with me if I have used wrong terms while explaining the problem above.
Thanks in Advance,
Amit |
|
Back to top |
|
 |
Esa |
Posted: Mon Mar 07, 2011 11:40 pm Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
RouterList is a list. With it you can propagate to several destinations with one propagate statement. If the first label in the list does not exist, you get an exception and the second one is not even tried. If you uncheck the box, there will be no initial members in the list.
try setting ...RouterList.DestinationData[1].labelname='mynode'
That will override the first value.
PS. check PROPAGATE statement in the manual. There is a new feature: you can propagate directly to a label without having to build a DestinationList. |
|
Back to top |
|
 |
amvit |
Posted: Tue Mar 08, 2011 12:04 am Post subject: |
|
|
Newbie
Joined: 03 Mar 2011 Posts: 4
|
Hello there,
Thanks and appreciate your reply.
I tried setting the DestinationData[1].lablename before posting the question but it did not override.
While googling I found that the default value is added to the list if the checkbox is checked. The message flow is now correctly forwarding the request to the expected Label Node (mynode) but I am confused to understand what would be its implications because I am modifying an existing flow.
Sorry for being elaborative but just trying to explain the scenario that I am working in.
Thanks,
Amit |
|
Back to top |
|
 |
Frnd |
Posted: Wed Oct 12, 2011 12:08 am Post subject: |
|
|
Apprentice
Joined: 04 Jun 2007 Posts: 33
|
Hi
I have a similar flow. I tried using both DESTINATION LIST[1] and also tried unchecking the set destination list boc. Both the cases are not working. I am using WMB 7.0.0.1. Is there any other setting that I need to do to make it work ? |
|
Back to top |
|
 |
rekarm01 |
Posted: Wed Oct 12, 2011 4:48 am Post subject: Re: RouteToLable node in Webservice |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
Frnd wrote: |
I tried using both DESTINATION LIST[1] ... |
What does that mean?
Frnd wrote: |
... and also tried unchecking the set destination list boc. Both the cases are not working. |
Add a Trace node to display the contents of LocalEnvironment, and run a usertrace.
Make sure that the LocalEnvironment tree is constructed correctly, and that the element names such as "labelName" are not misspelled. |
|
Back to top |
|
 |
|