Author |
Message
|
fjb_saper |
Posted: Wed Dec 05, 2018 5:45 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
gappodi wrote: |
Does these overridden values remain in the environment tree until message flow completes ? For e.g. if I have a subsequent second HTTPRequest node in my message flow and I do not want these values to be carried forward to this node, Should I clear my local environment tree before the second HTTPRequest node is invoked in the message flow ? Please provide your inputs on it.
Thanks and Regards,
Maneesh Sharma |
You need to set the values just before the node that needs them.
If you set them before they will stay in the tree. Now if the node is not the same (HTTPRequest vs HTTPReply) it may be ok as the overrides are not the same.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
gappodi |
Posted: Wed Dec 05, 2018 6:03 am Post subject: |
|
|
 Voyager
Joined: 05 Sep 2014 Posts: 76
|
Thank you fjb_saper! I am setting the following overrides in a compute node right before the HTTPRequest node.
SET OutputLocalEnvironment.Destination.HTTP.RequestURL = 'https://twod-test.tw.com/sign';
SET OutputLocalEnvironment.Destination.HTTP.KeyAlias = 'signcert';
These overrides worked and my HTTPRequest node hit the above mentioned URL. Now down the message flow I need to use another HTTPRequest node and want it to hit a different URL. I specified the override for this 2nd HTTPRequest node in my override.properties and ran the 'mqsiapplybaroverride' command to generate a new bar file. But from the broker logs I can see that 2nd HTTPRequest node is still hitting the URL as set in the compute node right before the first HTTPRequest node.
Also, I am not using HTTP Reply node at all in my message flow. So the overrides are anyway same for both the nodes. Is there a way I can force the 2nd HTTPRequest node to ignore what is already set in the OutputLocalEnvironment by the compute node and take the override as specified in the override properties ?
Please provide your inputs here.
Thanks and Regards,
Maneesh Sharma |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Dec 05, 2018 6:08 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
gappodi wrote: |
Thank you fjb_saper! I am setting the following overrides in a compute node right before the HTTPRequest node.
SET OutputLocalEnvironment.Destination.HTTP.RequestURL = 'https://twod-test.tw.com/sign';
SET OutputLocalEnvironment.Destination.HTTP.KeyAlias = 'signcert';
These overrides worked and my HTTPRequest node hit the above mentioned URL. Now down the message flow I need to use another HTTPRequest node and want it to hit a different URL. I specified the override for this 2nd HTTPRequest node in my override.properties and ran the 'mqsiapplybaroverride' command to generate a new bar file. But from the broker logs I can see that 2nd HTTPRequest node is still hitting the URL as set in the compute node right before the first HTTPRequest node.
Also, I am not using HTTP Reply node at all in my message flow. So the overrides are anyway same for both the nodes. Is there a way I can force the 2nd HTTPRequest node to ignore what is already set in the OutputLocalEnvironment by the compute node and take the override as specified in the override properties ?
Please provide your inputs here.
Thanks and Regards,
Maneesh Sharma |
Set the properties in the bar file.
Then use mqsireadbar to generate the properties.
These are the properties you want to override.
Verify the bar file produced by mqsiapplybaroverride and verify the flags you are passing to mqsiapplybaroverride.
You'll figure out the problem.
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
gappodi |
Posted: Wed Dec 05, 2018 6:22 am Post subject: |
|
|
 Voyager
Joined: 05 Sep 2014 Posts: 76
|
I ran an 'mqsireadbar' command on my bar file and I see that both of the the HTTPRequest nodes have the same value as I specified in my override.properties.
com.ibm.einvoicing.flows.signing.SyncSigning#TWRequest.URLSpecifier = https://twod-dev.trustweaver.com/ts/svs.asmx
com.ibm.einvoicing.flows.signing.SyncSigning#TWRequest1.URLSpecifier = https://twod-dev.trustweaver.com/ts/svs.asmx
I am only overriding the URLSpecifier for 'TWRequest' node using a compute node in my message flow and it takes effect. But the URL for 'TWRequest1' (as indicated above in bold) is not getting used and it still hits the first URL.
Thanks and Regards,
Maneesh Sharma |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Dec 05, 2018 6:26 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
gappodi wrote: |
I ran an 'mqsireadbar' command on my bar file and I see that both of the the HTTPRequest nodes have the same value as I specified in my override.properties.
com.ibm.einvoicing.flows.signing.SyncSigning#TWRequest.URLSpecifier = https://twod-dev.trustweaver.com/ts/svs.asmx
com.ibm.einvoicing.flows.signing.SyncSigning#TWRequest1.URLSpecifier = https://twod-dev.trustweaver.com/ts/svs.asmx
I am only overriding the URLSpecifier for 'TWRequest' node using a compute node in my message flow and it takes effect. But the URL for 'TWRequest1' (as indicated above in bold) is not getting used and it still hits the first URL.
Thanks and Regards,
Maneesh Sharma |
Well that's your problem.
In the properties your are overriding TWRequest.URLSpecifier which you then override dynamically in the flow...
You need to override in your properties TWRequest1.URLSpecifier.
Also make sure the override properties in the LocalEnvironment are cleared before you hit the second URL.
So your overrides are working as designed...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
gappodi |
Posted: Wed Dec 05, 2018 6:43 am Post subject: |
|
|
 Voyager
Joined: 05 Sep 2014 Posts: 76
|
Ok. I am overriding the URLSpecifier in 'TWRequest' node dynamically which is working as expected. But the 2nd override for 'TWRequest1' is not working and instead of hitting the following URL i.e.
com.ibm.einvoicing.flows.signing.SyncSigning#TWRequest1.URLSpecifier = https://twod-dev.trustweaver.com/ts/svs.asmx
It is actually hitting what I set dynamically for the 'TWRequest' node.
I tried the following piece of code in a compute ESQL node right before hitting the second node but it did not work..
SET OutputLocalEnvironment.Destination.HTTP.RequestURL = NULL;
SET OutputLocalEnvironment.Destination.HTTP.KeyAlias = NULL;
Is there any other way I can clear the LocalEnvironment before hitting the second URL ? I think if I could do that it should fix this problem.
Thanks and Regards,
Maneesh Sharma |
|
Back to top |
|
 |
gappodi |
Posted: Wed Dec 05, 2018 7:02 am Post subject: |
|
|
 Voyager
Joined: 05 Sep 2014 Posts: 76
|
Small correction in previous message..
Is there any other way I can clear the LocalEnvironment before hitting the second HTTPRequest node ? |
|
Back to top |
|
 |
gappodi |
Posted: Wed Dec 05, 2018 7:17 am Post subject: |
|
|
 Voyager
Joined: 05 Sep 2014 Posts: 76
|
Hi fjb_saper,
I just tried the following piece of code from my ESQL and this worked for 'TWRequest1' node now !!
SET InputLocalEnvironment.Destination.HTTP.RequestURL = NULL;
SET InputLocalEnvironment.Destination.HTTP.KeyAlias = NULL;
Thanks a lot for your kind assistance and patience so far !!
Regards,
Maneesh Sharma |
|
Back to top |
|
 |
|