Author |
Message
|
kimbert |
Posted: Thu Sep 04, 2008 12:48 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
InputRoot.XMLNS.Message.MessageBody is returning null value. why is this so? i tried (parsing to XMLNS)
SET charTest = InputRoot.XMLNS.Message.MessageBody.ServiceId;
and i got null also. but when i tried (parsing to XML)
SET charTest = InputRoot.XML.Message.MessageBody.ServiceId;
i got the value. What is wrong? |
Hi angka,
- You should definitely add a Trace node to your flow. That should be standard practice for anybody who is debugging a message flow.
- You are obviously still using the XML domain, even though you are trying to use the XMLNS domain. Check your input node settings, and check that your re-deploy was successful. |
|
Back to top |
|
 |
angka |
Posted: Thu Sep 04, 2008 10:53 pm Post subject: |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
Hi,
Below is what i got from trace node with
${Root}
XMLNS Test: ${Body.Message.MessageBody.ServiceId}
as the pattern:
(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = TRUE
(0x03000000):CreationTime = GMTTIMESTAMP '2008-09-05 05:19:06.750'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'cfbd0000000100008001eb94080403000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'HQ.SYSB.SYSA.TST.L.01'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Format = 'MQSTR '
(0x03000000):Version = 2
(0x03000000):Report = 768
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 1
(0x03000000):MsgId = X'414d512051434d414e50303120202020e401be48200334e7'
(0x03000000):CorrelId = X'cfbd0000000100008001eb94080403000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = 'HQ.SYSA.SYSB.ACK.L.01 '
(0x03000000):ReplyToQMgr = 'SYSB '
(0x03000000):UserIdentifier = 'administrato'
(0x03000000):AccountingToken = X'1601051500000001b4f6a4b306d74caeea5832f401000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = 's\SYSMQService\MQSYSSYSB.exe'
(0x03000000):PutDate = DATE '2008-09-05'
(0x03000000):PutTime = GMTTIME '05:19:06.750'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000010):XMLNS = (
(0x05000018):XML = (
(0x06000011): = '1.0'
(0x06000012): = 'utf-16'
)
(0x06000002): = '
'
(0x01000000)http://SYSAMessage.com/Message:Message = (
(0x07000012)xmlns:xsi = 'http://www.w3.org/2001/XMLSchema-instance'
(0x07000012)xmlns:xsd = 'http://www.w3.org/2001/XMLSchema'
(0x07000012):xmlns = 'http://SYSAMessage.com/Message'
(0x02000000): = '
'
(0x01000000)http://SYSAMessage.com/Message:MessageHeader = (
(0x02000000): = '
'
(0x01000000)http://SYSAMessage.com/Message:MsgRefId = (
(0x02000000): = 'CCCCBBBBB000001'
)
(0x02000000): = '
'
(0x01000000)http://SYSAMessage.com/Message:TimeStampCreated = (
(0x02000000): = '20080905131906755'
)
(0x02000000): = '
'
(0x01000000)http://SYSAMessage.com/Message:MsgType = (
(0x02000000): = 'UPD'
)
(0x02000000): = '
'
(0x01000000)http://SYSAMessage.com/Message:SourceSysID = (
(0x02000000): = '00001'
)
(0x02000000): = '
'
(0x01000000)http://SYSAMessage.com/Message:AgencyID = (
(0x02000000): = '00001'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
(0x01000000)http://SYSAMessage.com/Message:MessageBody = (
(0x03000000):ServiceId = '12345678'
(0x02000000): = '
'
(0x01000000)https://ABC/Common/SYSBTremor.xsd:TremorInfo = (
(0x07000012)xmlns:xsi = 'http://www.w3.org/2001/XMLSchema-instance'
(0x07000012)xmlns:xsd = 'http://www.w3.org/2001/XMLSchema'
(0x07000012):xmlns = 'https://ABC/Common/SYSBTremor.xsd'
(0x02000000): = '
'
(0x01000000)https://ABC/Common/SYSBTremor.xsd:TremorID = (
(0x02000000): = '
'
(0x01000000)https://ABC/Common/SYSBTremor.xsd:RecordID = (
(0x02000000): = '2'
)
(0x02000000): = '
'
(0x01000000)https://ABC/Common/SYSBTremor.xsd:FolderID = (
(0x02000000): = '1'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
(0x01000000)https://ABC/Common/SYSBTremor.xsd:TremorDetail = (
(0x02000000): = '
'
(0x01000000)https://ABC/Common/SYSBTremor.xsd:RoadName = (
(0x02000000): = 'Alex Road'
)
(0x02000000): = '
'
(0x01000000)https://ABC/Common/SYSBTremor.xsd:TimeChecked = (
(0x02000000): = '12 45'
)
(0x02000000): = '
'
(0x01000000)https://ABC/Common/SYSBTremor.xsd:Status = (
(0x02000000): = '0'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
)
)
)XMLNS Test: NULL
try to navigate thru the body but got nothing.
Thanks |
|
Back to top |
|
 |
marko.pitkanen |
Posted: Thu Sep 04, 2008 11:05 pm Post subject: |
|
|
 Chevalier
Joined: 23 Jul 2008 Posts: 440 Location: Jamsa, Finland
|
Hi,
For me it looks that you are missing namespace references in you pattern
Quote: |
Body.Message.MessageBody.ServiceId |
Something like this(not tested):
Body."http://SYSAMessage.com/Message":Message."http://SYSAMessage.com/Message":MessageBody.ServiceId
Marko |
|
Back to top |
|
 |
kimbert |
Posted: Fri Sep 05, 2008 12:34 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
|
Back to top |
|
 |
angka |
Posted: Thu Sep 18, 2008 4:04 am Post subject: |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
Hi,
How do i get the namespace for incoming message?? i parsed it to xmlns and how use the InputRoot.XMLNS to get the namespace for the message? Thanks |
|
Back to top |
|
 |
kspranava |
Posted: Thu Sep 18, 2008 5:35 am Post subject: |
|
|
 Centurion
Joined: 27 Apr 2003 Posts: 124
|
Quote: |
How do i get the namespace for incoming message?? |
FIELDNAMESPACE function returns you the namespace associated with the field.
Or if you are not worried about the namespace as such, try something like this,
SET charTest = InputRoot.XMLNS.*:Message.*:MessageBody.*:ServiceId; |
|
Back to top |
|
 |
|