2016-12-30 4 views
0

В IIB я опубликовал веб-службу SOAP, которая принимает элемент CDATA. Мне нужно написать этот элемент CDATA в MQ. Это простое преобразование IIB:Элемент CDATA SOAP SOAP для MQ

SET OutputRoot.BLOB = InputRoot.SOAP.Body.ns: HL7ReqType.ReqBody; И он помещает развернутую информацию CDATA в BLOB. Но MQOutput Node не видит его и записывает в очередь запись с нулевой длиной.

Как получить данные BLOB, записанные в очередь? Трассировка выглядит следующим образом:

([ 'SOAPRoot': 0x1fa37b60]

(0x01000000: Имя): Свойства = ([ 'MQPROPERTYPARSER': 0x1fa38280] ... и т.д. ... ) (0x03000000: имя-значение): 'MSH |^~ |||| XX ||| ОРМ^A^M | PID | 1 | 123^| и т.д. ... BLOb = (CHARACTER) )

ответ

0

Я должен был сказать

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

И затем, необязательно, мне нужно, чтобы добавить CCSID 1209 после BLOB AS. CCSID 1209 означает UTF-8. В противном случае CAST не знает, как кодируется строка, и пытается обрабатывать ее как строку шестнадцатеричных значений.

Смежные вопросы