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 » Urgent Help:Removing RFH header

Post new topic  Reply to topic Goto page 1, 2  Next
 Urgent Help:Removing RFH header « View previous topic :: View next topic » 
Author Message
samimohd
PostPosted: Wed Aug 28, 2002 5:45 am    Post subject: Urgent Help:Removing RFH header Reply with quote

Novice

Joined: 25 Mar 2002
Posts: 21

I am trying remove JMS header. My header looks like this:

RFH  à  ¸MQSTR ¸ <mcd><Msd>jms_text</Msd></mcd> &#8221;<jms><Dst>queue://GETTYDQM/SHP.SAP.RMT.ORDER.CREATE.OUT</Dst><Rto>queue://GETTYDQM/SAP.JMS.LCL.IN</Rto><Tms>1030542183292</Tms><Dlv>2</Dlv></jms>
This is an XML message coming from Websphere. I tried all the methods described, both on this website, and as well as in the documentation, but still the header shows up. This will cause failure in the R/3 link for SAP.
We use NEON formats. So I tried NEON formats to strip the header. It works fine if I put the message manually, but if it directly comes from Websphere, the above header is carried accross.
Can any one give me some suggestions or sample ESQL.
Thanks.
Sami.
Back to top
View user's profile Send private message Send e-mail
kirani
PostPosted: Wed Aug 28, 2002 7:53 am    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

Sami,

Have you tried this ..
SET OutputRoot.MQRFH = NULL;
_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

Back to top
View user's profile Send private message Visit poster's website
samimohd
PostPosted: Wed Aug 28, 2002 8:34 am    Post subject: Reply with quote

Novice

Joined: 25 Mar 2002
Posts: 21

Hi Kiran, I tried that. It does remove the header but it also remove all the XML elements i.e no XML document. This is how the trace looks like after the compute node which has the code
SET OutputRoot.MQRFH = NULL;
SET OutputRoot.MQMD.Format = MQSTR;

(
(0x1000000)Properties = (
(0x3000000)MessageSet = ''
(0x3000000)MessageType = ''
(0x3000000)MessageFormat = ''
(0x3000000)Encoding = 785
(0x3000000)CodedCharSetId = 1208
(0x3000000)Transactional = TRUE
(0x3000000)Persistence = FALSE
(0x3000000)CreationTime = GMTTIMESTAMP '2002-08-28 16:52:50.660'
(0x3000000)ExpirationTime = -1
(0x3000000)Priority = 0
(0x3000000)ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x3000000)ReplyProtocol = 'MQ'
(0x3000000)Topic = NULL
)
(0x1000000)MQMD = (
(0x3000000)SourceQueue = 'IN.1'
(0x3000000)Transactional = TRUE
(0x3000000)Encoding = 785
(0x3000000)CodedCharSetId = 437
(0x3000000)Format = 'MQHRF2 '
(0x3000000)Version = 2
(0x3000000)Report = 0
(0x3000000)MsgType = 8
(0x3000000)Expiry = -1
(0x3000000)Feedback = 0
(0x3000000)Priority = 0
(0x3000000)Persistence = 0
(0x3000000)MsgId = X'414d51204d4f48414d4d454420202020f2a16c3d12300300'
(0x3000000)CorrelId = X'000000000000000000000000000000000000000000000000'
(0x3000000)BackoutCount = 0
(0x3000000)ReplyToQ = ' '
(0x3000000)ReplyToQMgr = 'MOHAMMED '
(0x3000000)UserIdentifier = 'mqsiuid '
(0x3000000)AccountingToken = X'1601051500000052437506af1cfa3ee308dd33f703000000000000000000000b'
(0x3000000)ApplIdentityData = ' '
(0x3000000)PutApplType = 11
(0x3000000)PutApplName = '\mqsiuid\Desktop\rfhutil.exe'
(0x3000000)PutDate = DATE '2002-08-28'
(0x3000000)PutTime = GMTTIME '16:52:50.660'
(0x3000000)ApplOriginData = ' '
(0x3000000)GroupId = X'000000000000000000000000000000000000000000000000'
(0x3000000)MsgSeqNumber = 1
(0x3000000)Offset = 0
(0x3000000)MsgFlags = 0
(0x3000000)OriginalLength = -1
)
(0x1000000)MQRFH2 = (
(0x3000000)Version = 2
(0x3000000)Format = ''
(0x3000000)Encoding = 785
(0x3000000)CodedCharSetId = 1208
(0x3000000)Flags = 0
(0x3000000)NameValueCCSID = 1208
(0x1000000)mcd = (
(0x1000000)Msd = (
(0x2000000) = 'jms_text'
)
(0x1000000)Set =
(0x1000000)Type =
(0x1000000)Fmt =
)
)
)
(
(0x1000000)Properties = (
(0x3000000)MessageSet = ''
(0x3000000)MessageType = ''
(0x3000000)MessageFormat = ''
(0x3000000)Encoding = 785
(0x3000000)CodedCharSetId = 1208
(0x3000000)Transactional = TRUE
(0x3000000)Persistence = FALSE
(0x3000000)CreationTime = GMTTIMESTAMP '2002-08-28 16:54:20.050'
(0x3000000)ExpirationTime = -1
(0x3000000)Priority = 0
(0x3000000)ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x3000000)ReplyProtocol = 'MQ'
(0x3000000)Topic = NULL
)
(0x1000000)MQMD = (
(0x3000000)SourceQueue = 'IN.1'
(0x3000000)Transactional = TRUE
(0x3000000)Encoding = 785
(0x3000000)CodedCharSetId = 437
(0x3000000)Format = 'MQHRF2'
(0x3000000)Version = 2
(0x3000000)Report = 0
(0x3000000)MsgType = 8
(0x3000000)Expiry = -1
(0x3000000)Feedback = 0
(0x3000000)Priority = 0
(0x3000000)Persistence = 0
(0x3000000)MsgId = X'414d51204d4f48414d4d454420202020f2a16c3d12500300'
(0x3000000)CorrelId = X'000000000000000000000000000000000000000000000000'
(0x3000000)BackoutCount = 0
(0x3000000)ReplyToQ = ' '
(0x3000000)ReplyToQMgr = 'MOHAMMED '
(0x3000000)UserIdentifier = 'mqsiuid '
(0x3000000)AccountingToken = X'1601051500000052437506af1cfa3ee308dd33f703000000000000000000000b'
(0x3000000)ApplIdentityData = ' '
(0x3000000)PutApplType = 11
(0x3000000)PutApplName = '\mqsiuid\Desktop\rfhutil.exe'
(0x3000000)PutDate = DATE '2002-08-28'
(0x3000000)PutTime = GMTTIME '16:54:20.050'
(0x3000000)ApplOriginData = ' '
(0x3000000)GroupId = X'000000000000000000000000000000000000000000000000'
(0x3000000)MsgSeqNumber = 1
(0x3000000)Offset = 0
(0x3000000)MsgFlags = 0
(0x3000000)OriginalLength = -1
)
(0x1000000)MQRFH2 = (
(0x3000000)Version = 2
(0x3000000)Format = ''
(0x3000000)Encoding = 785
(0x3000000)CodedCharSetId = 1208
(0x3000000)Flags = 0
(0x3000000)NameValueCCSID = 1208
(0x1000000)mcd = (
(0x1000000)Msd = (
(0x2000000) = 'jms_text'
)
(0x1000000)Set =
(0x1000000)Type =
(0x1000000)Fmt =
)
)
)
(
(0x1000000)Properties = (
(0x3000000)MessageSet = ''
(0x3000000)MessageType = ''
(0x3000000)MessageFormat = ''
(0x3000000)Encoding = 785
(0x3000000)CodedCharSetId = 1208
(0x3000000)Transactional = TRUE
(0x3000000)Persistence = FALSE
(0x3000000)CreationTime = GMTTIMESTAMP '2002-08-28 16:55:18.850'
(0x3000000)ExpirationTime = -1
(0x3000000)Priority = 0
(0x3000000)ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x3000000)ReplyProtocol = 'MQ'
(0x3000000)Topic = NULL
)
(0x1000000)MQMD = (
(0x3000000)SourceQueue = 'IN.1'
(0x3000000)Transactional = TRUE
(0x3000000)Encoding = 785
(0x3000000)CodedCharSetId = 437
(0x3000000)Format = 'MQHRF2'
(0x3000000)Version = 2
(0x3000000)Report = 0
(0x3000000)MsgType = 8
(0x3000000)Expiry = -1
(0x3000000)Feedback = 0
(0x3000000)Priority = 0
(0x3000000)Persistence = 0
(0x3000000)MsgId = X'414d51204d4f48414d4d454420202020f2a16c3d12600300'
(0x3000000)CorrelId = X'000000000000000000000000000000000000000000000000'
(0x3000000)BackoutCount = 0
(0x3000000)ReplyToQ = ' '
(0x3000000)ReplyToQMgr = 'MOHAMMED '
(0x3000000)UserIdentifier = 'mqsiuid '
(0x3000000)AccountingToken = X'1601051500000052437506af1cfa3ee308dd33f703000000000000000000000b'
(0x3000000)ApplIdentityData = ' '
(0x3000000)PutApplType = 11
(0x3000000)PutApplName = '\mqsiuid\Desktop\rfhutil.exe'
(0x3000000)PutDate = DATE '2002-08-28'
(0x3000000)PutTime = GMTTIME '16:55:18.850'
(0x3000000)ApplOriginData = ' '
(0x3000000)GroupId = X'000000000000000000000000000000000000000000000000'
(0x3000000)MsgSeqNumber = 1
(0x3000000)Offset = 0
(0x3000000)MsgFlags = 0
(0x3000000)OriginalLength = -1
)
(0x1000000)MQRFH2 = (
(0x3000000)Version = 2
(0x3000000)Format = ''
(0x3000000)Encoding = 785
(0x3000000)CodedCharSetId = 1208
(0x3000000)Flags = 0
(0x3000000)NameValueCCSID = 1208
(0x1000000)mcd = (
(0x1000000)Msd = (
(0x2000000) = 'jms_text'
)
(0x1000000)Set =
(0x1000000)Type =
(0x1000000)Fmt =
)
)
)
Below is the XML message I am getting from WCS.
RFH  à  ¸MQSTR ¸ <mcd><Msd>jms_text</Msd></mcd> &#8221;<jms><Dst>queue://GETTYDQM/SHP.SAP.RMT.ORDER.CREATE.OUT</Dst><Rto>queue://GETTYDQM/SAP.JMS.LCL.IN</Rto><Tms>1030542183292</Tms><Dlv>2</Dlv></jms>











<?xml version="1.0" encoding="UTF-8"?>
<Report_NC_PurchaseOrder version="1.0">
<ControlArea>
<Verb value="Report"/>
<Noun value="NC_PurchaseOrder"/>
</ControlArea>
<DataArea>
<ReportPO>


<ReportPOHeader>
<SalesOrganization>1304</SalesOrganization>
<DistributionChannel>00</DistributionChannel>
<Division>00</Division>
<PurchaseOrderType>WEB</PurchaseOrderType>
<WCSOrderRefNumber>14201</WCSOrderRefNumber>
<DateTimeReference>
<PlacedDate>20020828</PlacedDate>
<PlacedTime>094303</PlacedTime>
</DateTimeReference>
<RequestedDeliveryDate>20020829</RequestedDeliveryDate>

<ShipMethod/>

<PaymentTerm>C547</PaymentTerm>
<PONumber>PO=::INV=::</PONumber>
</ReportPOHeader>


<ReportPOItem>
<ItemLineNumber>1</ItemLineNumber>
<ItemLineQuantity>1</ItemLineQuantity>
<SalesUOM/>
<ProductNumberByMerchant>70012701 C1</ProductNumberByMerchant>
</ReportPOItem>



<SalesOrderText/>
<RequisitionerInfo>
<ShipToNumberBySAP/>
<ContactPersonName>
<Title/>
<LastName>Masutani</LastName>
<FirstName>Akiko</FirstName>
<MiddleName/>
</ContactPersonName>
</RequisitionerInfo>


<BillToInfo>
<Address>
<AddressLine1>10 Centre St</AddressLine1>
<AddressLine2/>
<AddressLine3/>
<City>Cambridge</City>
<State>MA</State>
<Zip>02139</Zip>
<Country>US</Country>
</Address>
<ContactPersonName>
<LastName>Masutani</LastName>
<FirstName>Akiko</FirstName>
<MiddleName/>
<AlternateName/>
</ContactPersonName>
</BillToInfo>



<ShipToInfo>
<Address>
<AddressLine1>455 Forest St</AddressLine1>
<AddressLine2/>
<AddressLine3/>
<City>Marlborough</City>
<State>MA</State>
<Zip>01752</Zip>
<Country>US</Country>
</Address>
<ContactPersonName>
<LastName>Masutani</LastName>
<FirstName>Akiko</FirstName>
<MiddleName/>
<AlternateName/>
</ContactPersonName>
</ShipToInfo>


</ReportPO>
</DataArea>
</Report_NC_PurchaseOrder>

Please suggest what is wrong here.
Thanks.
Sami.
Back to top
View user's profile Send private message Send e-mail
kirani
PostPosted: Wed Aug 28, 2002 8:46 am    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

Hi Sami,

I see that you have MQRFH2 header. So the esql statements should be:

Code:

SET OutputRoot.MQRFH2 = NULL;
SET OutputRoot.MQMD.Format = MQFMT_STRING;


Also make sure you have "Copy Entire Message" selected in this compute node.
_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

Back to top
View user's profile Send private message Visit poster's website
samimohd
PostPosted: Wed Aug 28, 2002 9:25 am    Post subject: Reply with quote

Novice

Joined: 25 Mar 2002
Posts: 21

Hi Kiran, I did what you suggested. But the message fails. Below is last few lines of the trace captured:

2002-08-28 13:49:40.156734 8242 ParserException BIP5005E: No valid body of the document could be found.
There should be one, and only one, top level element of type element or EmptyElement and this is not the case for the current message.
Check that the XML message being passed in is a well formed XML message that adheres to the XML specification and that only one of the above exists as a child of the root.
2002-08-28 13:49:40.159309 8242 UserTrace BIP2638E: MQPUT to queue 'MQSI.SHP.SAP.LCL.ERRORS' on queue manager '': MQCC=0, MQRC=0; node 'SHP.SAP.ORDER.CREATE 1.0 _OLD.Errors'.
The node 'SHP.SAP.ORDER.CREATE 1.0 _OLD.Errors' attempted to write a message to the specified queue 'MQSI.SHP.SAP.LCL.ERRORS' connected to queue manager ''. The MQCC was 0 and the MQRC was 0.
No user action required.
2002-08-28 13:49:40.159469 8242 UserTrace BIP2622I: Message successfully output by output node 'SHP.SAP.ORDER.CREATE 1.0 _OLD.Errors' to queue 'MQSI.SHP.SAP.LCL.ERRORS' on queue manager ''.
The MQSeries Integrator output node 'SHP.SAP.ORDER.CREATE 1.0 _OLD.Errors' successfully wrote an output message to the specified queue MQSI.SHP.SAP.LCL.ERRORS connected to queue manager .
No user action required.

Threads encountered in this trace:
1 2314 5398 7197 7454 7711 7968 8228 8242

What might be wrong here.
Thanks.
Sami.
Back to top
View user's profile Send private message Send e-mail
kirani
PostPosted: Wed Aug 28, 2002 9:49 am    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

Sami,

Let's take one step back and create a very sample message flow to debug the problem here.

MQInput(out)->Trace1->Compute1->Trace2->MQOutput
MQInput(catch)->Trace3

MQInput: Read your input message as XML.
Trace1: Print ${Root} in it and write the trace output to some file.
Compute1: Select "Copy Entire Message" and have only 2 lines of ESQL code (as posted in my earlier post). Make sure Compute mode is set to "Message" Only.
Trace2: Print ${Root} in it and write the trace output to some file.
MQOutput: Write message to some queue.
Trace3: Print ${ExceptionList} in it.

now run a message thru this Message flow and see what output do you get in Trace nodes.
_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

Back to top
View user's profile Send private message Visit poster's website
samimohd
PostPosted: Wed Aug 28, 2002 10:33 am    Post subject: Reply with quote

Novice

Joined: 25 Mar 2002
Posts: 21

Hi Kiran, created and tested the message flow. These are the results:
-- No Trace2 file
-- No message is lost beacuse it might have slipped through one of the unconnected nodes
--Contents of trace1.
(
(0x1000000)Properties = (
(0x3000000)MessageSet = ''
(0x3000000)MessageType = ''
(0x3000000)MessageFormat = ''
(0x3000000)Encoding = 785
(0x3000000)CodedCharSetId = 1208
(0x3000000)Transactional = TRUE
(0x3000000)Persistence = FALSE
(0x3000000)CreationTime = GMTTIMESTAMP '2002-08-28 18:59:48.480'
(0x3000000)ExpirationTime = -1
(0x3000000)Priority = 0
(0x3000000)ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x3000000)ReplyProtocol = 'MQ'
(0x3000000)Topic = NULL
)
(0x1000000)MQMD = (
(0x3000000)SourceQueue = 'IN.1'
(0x3000000)Transactional = TRUE
(0x3000000)Encoding = 785
(0x3000000)CodedCharSetId = 437
(0x3000000)Format = 'MQHRF2 '
(0x3000000)Version = 2
(0x3000000)Report = 0
(0x3000000)MsgType = 8
(0x3000000)Expiry = -1
(0x3000000)Feedback = 0
(0x3000000)Priority = 0
(0x3000000)Persistence = 0
(0x3000000)MsgId = X'414d51204d4f48414d4d454420202020f2a16c3d12900400'
(0x3000000)CorrelId = X'000000000000000000000000000000000000000000000000'
(0x3000000)BackoutCount = 0
(0x3000000)ReplyToQ = ' '
(0x3000000)ReplyToQMgr = 'MOHAMMED '
(0x3000000)UserIdentifier = 'mqsiuid '
(0x3000000)AccountingToken = X'1601051500000052437506af1cfa3ee308dd33f703000000000000000000000b'
(0x3000000)ApplIdentityData = ' '
(0x3000000)PutApplType = 11
(0x3000000)PutApplName = '\mqsiuid\Desktop\rfhutil.exe'
(0x3000000)PutDate = DATE '2002-08-28'
(0x3000000)PutTime = GMTTIME '18:59:48.480'
(0x3000000)ApplOriginData = ' '
(0x3000000)GroupId = X'000000000000000000000000000000000000000000000000'
(0x3000000)MsgSeqNumber = 1
(0x3000000)Offset = 0
(0x3000000)MsgFlags = 0
(0x3000000)OriginalLength = -1
)
(0x1000000)MQRFH2 = (
(0x3000000)Version = 2
(0x3000000)Format = 'MQSTR '
(0x3000000)Encoding = 785
(0x3000000)CodedCharSetId = 1208
(0x3000000)Flags = 0
(0x3000000)NameValueCCSID = 1208
(0x1000000)mcd = (
(0x1000000)Msd = (
(0x2000000) = 'jms_text'
)
(0x1000000)Set =
(0x1000000)Type =
(0x1000000)Fmt =
)
)
(0x1000010)XML =

--Contents of Trace3:
(
(0x1000000)RecoverableException = (
(0x3000000)File = 'F:\build\S210_P\src\DataFlowEngine\ImbDataFlowNode.cpp'
(0x3000000)Line = 536
(0x3000000)Function = 'ImbDataFlowNode::createExceptionList'
(0x3000000)Type = 'ComIbmMQInputNode'
(0x3000000)Name = '497c2af2-ef00-0000-0080-f8c7ad880cd4'
(0x3000000)Label = 'TEST-KIRAN.MQInput1'
(0x3000000)Text = 'Node throwing exception'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 2230
(0x1000000)RecoverableException = (
(0x3000000)File = 'F:\build\S210_P\src\DataFlowEngine\ImbTraceNode.cpp'
(0x3000000)Line = 329
(0x3000000)Function = 'ImbTraceNode::evaluate'
(0x3000000)Type = 'ComIbmTraceNode'
(0x3000000)Name = '2cb12af2-ef00-0000-0080-f8c7ad880cd4'
(0x3000000)Label = 'TEST-KIRAN.Trace1'
(0x3000000)Text = 'Caught exception and rethrowing'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 2230
(0x1000000)ParserException = (
(0x3000000)File = 'F:\build\S210_P\src\MTI\MTIforBroker\GenXmlParser2\XmlImbParser.cpp'
(0x3000000)Line = 287
(0x3000000)Function = 'XmlImbParser::parseFirstChild'
(0x3000000)Type = ''
(0x3000000)Name = ''
(0x3000000)Label = ''
(0x3000000)Text = 'XML Parsing Errors have occurred'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 5009
(0x1000000)ParserException = (
(0x3000000)File = 'F:\build\S210_P\src\MTI\MTIforBroker\GenXmlParser2\XmlBrokerAsgardParser.cpp'
(0x3000000)Line = 692
(0x3000000)Function = 'XmlBrokerAsgardParser::error'
(0x3000000)Type = ''
(0x3000000)Name = ''
(0x3000000)Label = ''
(0x3000000)Text = 'An error has been reported by the BIPXML4C component.'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 5004
(0x1000000)Insert = (
(0x3000000)Type = 2
(0x3000000)Text = '121'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = ''
)
(0x1000000)Insert = (
(0x3000000)Type = 2
(0x3000000)Text = '13'
)
(0x1000000)Insert = (
(0x3000000)Type = 2
(0x3000000)Text = '7'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'The XML or Text declaration must start at line/column 1/1'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'XML'
)
)
)
)
)
)

Looks like a proper XML is not coming through the input node;
Any suggestions ?
Thank You very much
Sami.
Back to top
View user's profile Send private message Send e-mail
kirani
PostPosted: Wed Aug 28, 2002 12:12 pm    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

Sami,

I am not very much familiar with JMS. I see that your input message has JMS header in it. Is it possible for JMS Application not to generate this header?

WMQI supports only JMSMap and JMSStream type messages. These message types maps to XML domain, and therefore supported in an identical fashion to XML messages. As per XML specification, there should be only one tag at the root level. But, for your input message there are two tags, <jms> and <Report_NC_PurchaseOrder>.

If there is MQRFH2 header present in your input message, mcd folder defines the message domain. WMQI will ignore the Message domain set in the MQInput node. Try chaning your MQInput node to have BLANK message domain and see if that makes the difference.
_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

Back to top
View user's profile Send private message Visit poster's website
mapa
PostPosted: Thu Aug 29, 2002 1:39 am    Post subject: Reply with quote

Master

Joined: 09 Aug 2001
Posts: 257
Location: Malmö, Sweden

Hi,

I haven't worked with MQSI/WMQI since before the summer but I still have an idea that might work. Although I might not get the details right.

You could try this:
1) RCD node right after the MQInput that resets the content to BLOB. ->
2) a compute node that removes unwanted headers like you have tried, and copy the BLOB message. SET OutputRoot.NEON.MYMESSAGE = InputRoot.BLOB.BLOB (Should be something like this). ->
3) Remove the jms part it in the NEON formatter as you already have done this.

Your problem is that you try to reset the headers at the same time that the message is parsed. Using BLOB MQSI/WMQI won't parse the message content for you. Note that tracing the message with anything except BLOB as the domain will make MQSI parse the message.

You could of course also strip the jms parts in the first compute node by scanning the hexrepresentation of your BLOB message and substringing it abit
To do this get the position of the </jms> and make a substring of that + the steps you need to walk forward to get passed the </jms>. Note however that you have to search for </jms> in hex...

Best regards Mapa
Back to top
View user's profile Send private message Visit poster's website
lillo
PostPosted: Thu Aug 29, 2002 2:09 am    Post subject: Reply with quote

Master

Joined: 11 Sep 2001
Posts: 224

Hi,

I have the same problem. To remove the RFH2 header added by JMS I use the following code in a compute node:
Code:

   SET OutputRoot.MQMD = InputRoot.MQMD;
   SET OutputRoot.MQMD.Format = 'MQSTR';
   SET OutputRoot.XML = InputRoot.XML;


and no selection on "Copy message header" or "Copy entire message"

I hope this help you.

Cheers,
_________________
Lillo
IBM Certified Specialist - WebSphere MQ
Back to top
View user's profile Send private message
hdjur
PostPosted: Mon Oct 02, 2006 5:36 am    Post subject: Reply with quote

Centurion

Joined: 16 Sep 2004
Posts: 116
Location: Zagreb

Hi!

If I want to remove xmitq header, is it possible to say in a compute node:

CALL CopyEntireMessage();
SET OutputRoot.MQXQH= NULL;

I'm asking it because:
Quote:


It also provides parsers for the following message headers that your applications can include in input messages:

MQCFH
MQCIH
MQDLH
MQIIH
MQMD
MQMDE
MQRFH
MQRFH2
MQRFH2C
MQRMH
MQSAPH
MQWIH
SMQ_BMH

If you need to process and parse message body data or headers that the supplied parsers do not handle,
create user-defined parsers using the WebSphere Message Broker user-defined parser programming interface.


I would say no, because MQXQH is not mentioned?

Regards
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Oct 02, 2006 5:42 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

There are very few circumstances where it's necessary and/or wise to remove the xmitq header, which implies you're reading the message from the transmit queue. IMHO it's much better to let the message get where it's going (even if it's a dead letter queue) and use traditional techniques & provided tools (like the dead letter handler! ) to deal with it.

Certainly never heard of a flow that reads transmit queues. Odd & slightly disturbing administration and problem resolving applications yes, but a flow? What's your requirement? I'm intregued

But to return to your question, I don't believe that it's possible. Conflicting opinions welcomed as always [/i]
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
hdjur
PostPosted: Mon Oct 02, 2006 6:37 am    Post subject: Reply with quote

Centurion

Joined: 16 Sep 2004
Posts: 116
Location: Zagreb

Hi Vitor,

thank you for your answer. We were faced with a small problem with MQ listener on a destination host, so that channels to this host could not be started. We were just wandering how easy could we reach the solution for this unexpected situation, if we tried with WMQ Broker. Messages were stuck in a xmitq, if we could get messages and somehow extract simply MQXQH header, dump "clean" messages to a file, copy this file to a destination host, and then load the destination queue with this file, we would buy time to solve the problem with a listener, because one portion of messages would be transferred. I know it sounds funny, but that was one idea at that moment.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Oct 02, 2006 6:57 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Like I said, only admin & problem solving programes do this. Your solution doesn't sound that bad, but I stand (rightly or wrongly) by my assertion that you can't do it with a flow.

A small application would be fairly simple though....
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
hdjur
PostPosted: Mon Oct 02, 2006 7:11 am    Post subject: Reply with quote

Centurion

Joined: 16 Sep 2004
Posts: 116
Location: Zagreb

O.K. I just didn't want to waste too much time, if it can't be obtained with a totaly simple transformation. Anyway, it's much more sensible to "repair" listener (use runmqlsr instead of amqcrsta, or repair/restart inetd).
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 » Urgent Help:Removing RFH header
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.