2017-10-09 6 views
0

내 비누 몸에 Content-Transfer-Encoding = "CDATA"를 얻는 방법. 나는 DECLARE의 IDOC_BLOB의 BLOB 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;