到MQ

时间:2016-12-30 03:23:43

标签: cdata mq ibm-integration-bus

在IIB中,我公开了一个接受CDATA元素的SOAP Web服务。我需要将该CDATA元素写入MQ。这是一个简单的IIB转换:

  

SET OutputRoot.BLOB = InputRoot.SOAP.Body.ns:HL7ReqType.ReqBody;   它确实将未打包的CDATA信息放入BLOB中。但MQOutput节点没有看到它,并将零长度记录写入队列。

如何将BLOB数据写入队列? Trace看起来像这样:

  

(['SOAPRoot':0x1fa37b60]

     

(0x01000000:Name):属性=(['MQPROPERTYPARSER':0x1fa38280]   ......等......    )    (0x03000000:NameValue):BLOB ='MSH | ^〜|||| XX ||| ORM ^ A ^ M |   PID | 1 | 123 ^ |等......'(字符)   )

1 个答案:

答案 0 :(得分:0)

我不得不说

  

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

然后我可以选择在AS BLOB之后添加CCSID 1209。 CCSID 1209表示UTF-8。否则,CAST不知道字符串是如何编码的,并试图将其视为一串十六进制值。