2017-10-09 61 views
0

如何在我的soap主體中獲得Content-Transfer-Encoding =「CDATA」。 我試圖與DECLARE IDOC_BLOB BLOB 一個ESQL中的SOAP BODY字段

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; 

但我沒有得到內容傳輸編碼=「CDATA」。推薦一些變化 我的要求是

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

回答

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;