Author |
Message
|
mrgate |
Posted: Wed Jan 23, 2008 3:50 pm Post subject: Issue with web service |
|
|
 Centurion
Joined: 28 Feb 2007 Posts: 141 Location: India
|
Hello All,
I am working on message broker 6.0 on windows platform.
My flow is:
HttpInput----->compute(1)----->mqoutput----->mqget---->compute---->httpreply
I am sending a request to this flow where my target system is sap. In the mqget node, I am getting response from sap and sending response back to client.
Now, actual problem is: in the compute(1) node, I have set expiry in mqmd header and properties folder to 45 so that after putting data into queue, the message should be expired.As my target system is SAP, it is taking this message as request and sending response with expiry -1 so that message cannot be expired.
Now, the design needed by me is that I want to get a message from target system with expiry set to input expiry value. can anyone help me in resolving this problem.
flow can be modified based on suggestions. _________________ MQSeries terrorist |
|
Back to top |
|
 |
EddieA |
Posted: Wed Jan 23, 2008 4:57 pm Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
I can't find the reference just this minute, but there's a section in the Info Center that explains under what conditions the Properties Folder, or the MQMD Folder takes preference, where the same "field" appears in both, like Expiry.
Basically, if the input message that was parsed included an MQMD, then the MQMD values would override any changes made in the Properties Folder.
Conversely, if the input message didn't contain an MQMD, like an HTTP Input, then the Properties Folder would take preference over the MQMD settings.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 23, 2008 5:46 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
No.
In v6 and later, Properties always takes precedence over transport specific headers. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
EddieA |
Posted: Fri Jan 25, 2008 10:41 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
jefflowrey wrote: |
No.
In v6 and later, Properties always takes precedence over transport specific headers. |
Not according to this.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jan 25, 2008 1:56 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
EddieA wrote: |
Not according to this. |
That talks about what happens when transport headers are unserialized.
For serialization, Properties tree takes precedence over transport-specific headers.
Hrm. Digging a little deeper, this may represent a subtle change in behavior in v6.1 from v6.
In fact, it does. Compare the v6.1 http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r1m0/topic/com.ibm.etools.mft.doc/ac12610_.htm
Quote: |
The Properties parser ensures that the values in the header fields match the values in the Properties folder on input to, and output from, every node. For any field, if only one header is changed (the Properties header or a specific message header), that value is used. If both the Properties header and the specific message header are changed, the value from the Properties folder is used. |
with v6.0
http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/ac12610_.htm
Quote: |
The Properties parser ensures that the values in the header fields match the values in the properties folder on input to, and output from, every node. On exit from a node, the Properties parser invokes each header parser with the values that it currently contains. It then requests values back from the header parser and updates its own values. If you have coded ESQL in the node that updates values either in the properties folder, or in the header, or both, these values always match when the tree is passed on from that node. However, if you have updated a field in both the properties folder and the header with different values, the value that you set in the header is overwritten by the value that you set in the properties folder. |
_________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
mrgate |
Posted: Mon Jan 28, 2008 8:49 am Post subject: |
|
|
 Centurion
Joined: 28 Feb 2007 Posts: 141 Location: India
|
Hello All, Now I have set the expiry in the properties folder and the value was set. In my application,I want the messages to be deleted after the expiry interval, In the debug I can see the interval set but after the message was inserted into the queue, I can see the expiry set to -1. can anyone tell me the proper reason. _________________ MQSeries terrorist |
|
Back to top |
|
 |
vsr |
Posted: Mon Jan 28, 2008 10:39 am Post subject: |
|
|
Centurion
Joined: 04 Apr 2006 Posts: 104
|
Did you look at the 'Message context' option in the 'Advanced' tab of mqoutput node ?
Did you try 'SET OutputRoot.MQMD.Expiry = (10*60*60*24);' ? This line sets expiry to 1 day. |
|
Back to top |
|
 |
mrgate |
Posted: Mon Jan 28, 2008 11:33 am Post subject: |
|
|
 Centurion
Joined: 28 Feb 2007 Posts: 141 Location: India
|
Hey vsr,
The problem is not with the expiry set in the mqmd and properties folder. The problem is that I am not getting same headers from target(sap adapter) with the expiry set by me in the input mqmd header and input properties folder. I cant get the response with the same mqmd set before sent to SAP server _________________ MQSeries terrorist |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jan 28, 2008 12:54 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Maybe you have configured the SAP adapter incorrectly?
Maybe you don't understand that the response message is always going to have at least some different information in the MQMD than the request message?
Maybe we don't understand what you're really trying to do, because you've only posted vague details.
Maybe the SAP side needs to be configured to set an Expiry properly? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
mrgate |
Posted: Mon Jan 28, 2008 12:59 pm Post subject: |
|
|
 Centurion
Joined: 28 Feb 2007 Posts: 141 Location: India
|
jefflowrey wrote: |
Maybe you have configured the SAP adapter incorrectly?
Maybe you don't understand that the response message is always going to have at least some different information in the MQMD than the request message?
Maybe we don't understand what you're really trying to do, because you've only posted vague details.
Maybe the SAP side needs to be configured to set an Expiry properly? |
Jeoff, from this I can understand that the SAP system is sending back a new message with new MQMD and properties folder . for this reason I thought of setting in websphere MQ queue. _________________ MQSeries terrorist |
|
Back to top |
|
 |
|