假設我在IIB中有一個錯誤處理程序子流程組件,它會生成一條錯誤消息,然後將其輸出到隊列中。在輸出消息中包含輸入消息ESQL
錯誤消息是在類似的格式:
<ErrorMsg><Details>There was an error of some kind</Details><OriginalMsg></OriginalMsg></ErrorMsg>
從中,MQInput捕獲和故障點終端的輸出到錯誤處理程序的輸入。消息域在主消息流的MQInput節點上設置,並且可以是XMLNSC或未指定。
鑑於此,如果我想在錯誤消息中包含原始消息的副本,在OriginalMsg標記中(因此它需要是CData),我該怎麼做呢?
我已經試過類似下面的東西(其中需要XMLNSC反正,和b似乎不工作。):
DECLARE InputMessageBlob BLOB ASBITSTREAM(inRef.XMLNSC, inRef.Properties.Encoding, inRef.Properties.CodedCharSetId);
DECLARE InputMessageChar CHAR CAST(InputMessageBlob AS CHAR CCSID 1208);
SET OutputRoot.XMLNSC.nm1:ErrorMsg.nm1:OriginalMsg.(XMLNSC.CDataField)nm1:Content = InputMessageChar;
上面讓我部署我吧文件,但輸出只是一個空標籤。
這是有幫助的,謝謝;但我一直在尋找一個更一般的答案,而不是假設輸入消息是XMLNSC – simonalexander2005