Author |
Message
|
madi |
Posted: Thu Oct 19, 2006 12:50 pm Post subject: set correlId |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
Hi All
I am trying to set the input http request identifier to the correlid of the message but am not able to
the code is
Code: |
SET OutputRoot.MQMD.CorrelId = ASBITSTREAM(InputLocalEnvironment.Destination.HTTP.RequestIdenifier CCSID 1208);
SET OutputRoot.MQMD.CorrelId = InputLocalEnvironment.Destination.HTTP.RequestIdenifier;
SET OutputRoot.MQMD.CorrelId = CAST(InputLocalEnvironment.Destination.HTTP.RequestIdenifier AS BLOB);
|
None of the above is working. I know this is possible and may be simple but I am able to find out why I am getting all 0s in teh correlId in the output
plz point me out to any other posts with info ...... i tried search but did not find any solution
plz help
--madi |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Oct 19, 2006 1:06 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Well to supply the correlId you would need a BLOB with 24 bytes.
Now you can concatenate a 00 filled BLOB to the one obtained. Cut it after the first 24 and try to feed that to the correlId.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
madi |
Posted: Thu Oct 19, 2006 1:54 pm Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
i did that and now i can see the correlId populated in the OutputRoot.MQMD.CorrelId in the debugger
but once it leaves the compute node the correlId is again getting set to 00000000000000000000
im guessing there is a property in the compute node that we have to set to pass the correlId when we say return true
right??
--madi |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Oct 19, 2006 2:03 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
No that would be on the MQOutput node.
Make sure you check all the properties and you may have to specify "pass all".
But if the value of the correlId does not matter you can have the MQOutput node create it.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
madi |
Posted: Thu Oct 19, 2006 3:08 pm Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
i knew that was an option in the MQOutput Node but I need the correlId to be a specidic value for further processing
i did specify pass all but no use
just dont know why its becoming 000000000000 once it leaves the compute!!!
--madi |
|
Back to top |
|
 |
dilse |
Posted: Thu Oct 19, 2006 3:37 pm Post subject: |
|
|
 Master
Joined: 24 Jun 2004 Posts: 270
|
Hi madi,
Try to use CopyEntireMessage() method instead of CopyMessageHeaders() and then try to do the same procedure that u did earlier and make the extra elements NULL that comes because of copying the entire message. I think this should work. I saw the same issue when I was trying to copy MessageId into Correld field. Hope this helps....
DilSe.. |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Oct 19, 2006 4:16 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
If you don't manage to create your MQMD folder with the right parser, then everything will "disappear" from it when you leave the Compute node.
The same with the Properties folder.
I know, I know. They aren't "folders". _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
madi |
Posted: Thu Nov 30, 2006 7:53 am Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
Hi All
this did not get fixed
here is my code that i use to set the correlId ..... im also setting the MsgId in the same way but that is staying when the msg goes out of the compute node
Code: |
CALL CopyEntireMessage();
SET OutputRoot.XMLNS = NULL;
SET OutputRoot.BLOB = NULL;
SET v_HopCorrelId = FIELDVALUE(Environment.Context.XML.ServiceProperty.Destination.Request.DestinationHop.MQ.CorrelID);
WHILE LENGTH(v_HopCorrelId) < 24 DO
SET v_HopCorrelId = v_HopCorrelId || '0';
END WHILE;
IF LENGTH(v_HopCorrelId) > 24 THEN
SET v_HopCorrelId = RIGHT(v_HopCorrelId,24);
END IF;
SET OutputRoot.MQMD.CorrelId = CAST(v_HopCorrelId AS BLOB CCSID 1208); |
please let me know whats wrong with this code
thanks
madi |
|
Back to top |
|
 |
JosephGramig |
Posted: Thu Nov 30, 2006 7:59 am Post subject: |
|
|
 Grand Master
Joined: 09 Feb 2006 Posts: 1244 Location: Gold Coast of Florida, USA
|
Try setting the MQOutput to 'SetAll' _________________ Joseph
Administrator - IBM WebSphere MQ (WMQ) V6.0, IBM WebSphere Message Broker (WMB) V6.1 & V6.0
Solution Designer - WMQ V6.0
Solution Developer - WMB V6.1 & V6.0, WMQ V5.3 |
|
Back to top |
|
 |
madi |
Posted: Thu Nov 30, 2006 8:01 am Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
Yep tried that
but the problem is the correlId is 0000000000000000000 before it goes to the MQOutput node. Just coming out of the compute is resetting it.
--madi |
|
Back to top |
|
 |
JosephGramig |
Posted: Thu Nov 30, 2006 9:08 am Post subject: |
|
|
 Grand Master
Joined: 09 Feb 2006 Posts: 1244 Location: Gold Coast of Florida, USA
|
Can you try a CCSID of 819? Is the value set correctly on that set statement?
Does the incoming message have an MQMD? Did it come from a queue or HTTPInput? I see you kill the BLOB domain and the XMLNS domain, so what domain are you using? _________________ Joseph
Administrator - IBM WebSphere MQ (WMQ) V6.0, IBM WebSphere Message Broker (WMB) V6.1 & V6.0
Solution Designer - WMQ V6.0
Solution Developer - WMB V6.1 & V6.0, WMQ V5.3 |
|
Back to top |
|
 |
madi |
Posted: Thu Nov 30, 2006 9:40 am Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
output domain in xmlnsc
tried 819 but no luck
interestingly same code is working in a coleagues machine but not in mine??
any ideas what could effect CorrelId ??
--madi |
|
Back to top |
|
 |
JosephGramig |
Posted: Thu Nov 30, 2006 11:30 am Post subject: |
|
|
 Grand Master
Joined: 09 Feb 2006 Posts: 1244 Location: Gold Coast of Florida, USA
|
Interesting, check the version level of your broker and his and see if they are the same.
In any case, you should make sure you have the latest CSD for WMQ and WMB.
mqsiservice -v _________________ Joseph
Administrator - IBM WebSphere MQ (WMQ) V6.0, IBM WebSphere Message Broker (WMB) V6.1 & V6.0
Solution Designer - WMQ V6.0
Solution Developer - WMB V6.1 & V6.0, WMQ V5.3 |
|
Back to top |
|
 |
madi |
Posted: Thu Nov 30, 2006 12:20 pm Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
both have fix pack 2 for broker and toolkit
--madi |
|
Back to top |
|
 |
JosephGramig |
Posted: Thu Nov 30, 2006 12:51 pm Post subject: |
|
|
 Grand Master
Joined: 09 Feb 2006 Posts: 1244 Location: Gold Coast of Florida, USA
|
While that is not the problem, there is a fix pack 3 for the broker.
Did you export your project as a Project Interchange Format file and your buddy import it? And if so, does it still work different? _________________ Joseph
Administrator - IBM WebSphere MQ (WMQ) V6.0, IBM WebSphere Message Broker (WMB) V6.1 & V6.0
Solution Designer - WMQ V6.0
Solution Developer - WMB V6.1 & V6.0, WMQ V5.3 |
|
Back to top |
|
 |
|