Search code examples
soapentity-sql

SOAP BODY Field in ESQL


How to get Content-Transfer-Encoding="CDATA" in my soap body. I have tried with 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;

But I am not getting Content-Transfer-Encoding="CDATA" . Suggest some changes My requirement is

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

Solution

  • This Is how We should code to get proper result

    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;