2016-12-30 70 views
0

在IIB中,我公開了一個接受CDATA元素的SOAP Web服務。我需要將該CDATA元素寫入MQ。這是一個簡單的IIB轉換:IIB SOAP服務CDATA元素到MQ

SET OutputRoot.BLOB = InputRoot.SOAP.Body.ns:HL7ReqType.ReqBody; 它確實將未包裝的CDATA信息放入BLOB中。但MQOutput節點沒有看到它,並向隊列寫入零長度記錄。

如何將BLOB數據寫入隊列?跟蹤看起來是這樣的:

([ 'SOAPRoot':0x1fa37b60]

(爲0x01000000:名稱):屬性=([ 'MQPROPERTYPARSER':0x1fa38280] ...等... ) (0x03000000:NameValue):BLOB = 'MSH | ^〜|||| ||| XX ORM^A^M | PID | 1 | 123^|等...'(CHARACTER) )

回答

0

我不得不說

SET OutputRoot.BLOB.BLOB = CAST(... AS BLOB)

然後有選擇地我所需要的AS BLOB後添加CCSID 1209。 CCSID 1209表示UTF-8。否則,CAST不知道該字符串是如何編碼的,並試圖將其視爲十六進制值的字符串。