2016-12-30 36 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不知道该字符串是如何编码的,并试图将其视为十六进制值的字符串。