在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 ^ |等......'(字符) )
答案 0 :(得分:0)
我不得不说
SET OutputRoot.BLOB.BLOB = CAST(... AS BLOB)
然后我可以选择在AS BLOB之后添加CCSID 1209。 CCSID 1209表示UTF-8。否则,CAST不知道字符串是如何编码的,并试图将其视为一串十六进制值。