我在嘗試在計算節點中添加MQMD標頭時遇到問題。 試過類似的東西:在IBM消息代理的計算節點中構建MQMD標頭
SET OutputRoot.Properties = InputRoot.Properties;
CREATE LASTCHILD OF OutputRoot DOMAIN('MQMD') NAME 'MQMD';
SET OutputRoot.MQMD.Format = MQFMT_NONE;
SET OutputRoot.MQMD.CodedCharSetId = 1208;
SET OutputRoot.MQMD.Encoding = 546;
但它總是與此異常結束:
Text:CHARACTER:Caught exception and rethrowing
Insert
Type:INTEGER:14
Text:CHARACTER:test.MyAdp.AddHeader
RecoverableException
File:CHARACTER:F:\build\slot1\S900_P\src\CommonServices\ImbValue.cpp
Line:INTEGER:989
Function:CHARACTER:ImbValue::stateError
Type:CHARACTER:
Name:CHARACTER:
Label:CHARACTER:
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2329
Text:CHARACTER:Value not valid
可以肯定的,無需添加MQMD頭都工作得很好。 我試圖使用其他格式作爲MQFMT_STRING,MQFMT_RF_HEADER_2(下面添加了MQRFH2頭),但結果相同。
任何人都可以給我任何線索嗎? 是否有可能以某種方式從經紀人處獲得更有意義的診斷信息?
UPD 在進入試圖添加MQMD頭的Compute節點之前,這裏是traceout。 Compute之後的跟蹤節點永遠不會到達。
(['GENERICROOT' : 0xac05710]
(0x01000000:Name):Properties = (['GENERICPROPERTYPARSER' : 0xaf5ccc0]
(0x03000000:NameValue):MessageSet = '' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 0 (INTEGER)
(0x03000000:NameValue):Transactional = TRUE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = NULL
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'UNKNOWN' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceToken = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedType = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedToken = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000:Name):BLOB = (['none' : 0xb30d460]
(0x03000000:NameValue):BLOB = X'314........d0a' (BLOB)
)
)
UPD2下面是用戶跟蹤的片段,顯示消息的try-catch節點從創建MQMD計算節點返回之後。
2015-09-14 13:20:06.936871 1200 UserTrace BIP2539I: Node '': Evaluating expression ''InputRoot.BLOB.BLOB || CAST(header AS BLOB CCSID 1208)'' at ('test.MyAdp_AddHeader.Main', '31.51'). This resolved to ''X'314....3d0d'''.
2015-09-14 13:20:06.937023 1200 UserTrace BIP2566I: Node 'test.MyAdp.AddHeader': Assigning value ''X'314...6d0'... (data of len 3915 truncated)'' to field/variable ''OutputRoot.BLOB.BLOB''.
2015-09-14 13:20:06.937043 1200 UserTrace BIP2537I: Node 'test.MyAdp.AddHeader': Executing statement ''RETURN TRUE;'' at ('test.MyAdp_AddHeader.Main', '33.4').
2015-09-14 13:20:06.937718 1200 UserTrace BIP4081I: Message propagated to catch terminal from try-catch node 'test.MyAdp.ErrorHandler.Timer.Try Catch'.
The try-catch node 'test.MyAdp.ErrorHandler.Timer.Try Catch' has caught an exception which occurred in a node connected to its try terminal. The message has been augmented with an exception list and is propagating it to any nodes connected to its catch terminal for further processing. See the following messages for details of the exception list.
No user action required.
捕獲更詳細的診斷。從[開始](http://www-01.ibm.com/support/knowledgecenter/SSMKHH_10.0.0/com.ibm.etools.mft.doc/an01310_)開始。htm)瞭解有關用戶跟蹤的信息。用戶跟蹤程序的摘要是[here](http://www-01.ibm.com/support/docview.wss?uid=swg21177321#1)。 –
對不起,對於遲來的答案,但設置屬性如上所述在我的情況下沒有改變。順便說一句,問題描述的鏈接被打破。 – user3714601
忘記了版本,我用IIB 9.0 – user3714601