Поле SOAP BODY в ESQL

Как получить Content-Transfer-Encoding="CDATA" в моем мыльном теле. Я пытался с DECLARE IDOC_BLOB BLOB A

SBITSTREAM(InputRoot.BLOB,InputRoot.Properties.Encoding,InputRoot.Properties.CodedCharSetId );
        DECLARE IDOC_CHAR CHAR
        CAST(IDOC_BLOB AS CHAR CCSID InputRoot.Properties.CodedCharSetId);
        SET Environment.Messagecontent = IDOC_CHAR;
        SET BODYoutref.message.(XMLNSC.Attribute)'Content-Transfer-Encoding' = "CDATA";
        SET BODYoutref.message.(XMLNSC.CDataField) = Environment.Messagecontent;

Но я не получаю Content-Transfer-Encoding="CDATA" . Предложить некоторые изменения Мое требование

< soap:Body>
    <Message Content-Transfer-Encoding="CDATA"><![CDATA[{message}]]</Message>
</soap:Body>

1 ответ

Решение

Вот как мы должны кодировать, чтобы получить правильный результат

DECLARE FILE NAMESPACE 'CDATA';
DECLARE IDOC_BLOB BLOB


ASBITSTREAM(InputRoot.BLOB,InputRoot.Properties.Encoding,InputRoot.Properties.CodedCharSetId );
        DECLARE IDOC_CHAR CHAR
        CAST(IDOC_BLOB AS CHAR CCSID InputRoot.Properties.CodedCharSetId); 
        SET BODYoutref.(XMLNSC.CDataField)Message = IDOC_CHAR;
        SET BODYoutref.Message.(XMLNSC.NamespaceDecl)"content-Transfer-Encodeing" = FILE;
Другие вопросы по тегам