0

如何在我的肥皂体内获取 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>
4

1 回答 1

0

这就是我们应该如何编码以获得正确的结果

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;
于 2017-10-25T13:20:59.967 回答