ESQL语句中常用到的代码 3

得到配置文件中的URL
DECLARE URL_KEY CHARACTER Common.GetEndPointByKey(Environment.Variables.operation);

DECLARE tmp CHARACTER;
  DECLARE I INTEGER POSITION(',' IN URL_KEY);
 
  WHILE I > 0  DO
   SET tmp = SUBSTRING(URL_KEY BEFORE ',');
   SET URL_KEY = SUBSTRING(URL_KEY AFTER ',');
  
   CALL addInitURL(tmp);
  
   SET I = POSITION(',' IN URL_KEY);
  END WHILE;
 
  IF URL_KEY IS NOT NULL THEN
   CALL addInitURL(URL_KEY);
  END IF;

DECLARE I INTEGER CARDINALITY(localEnv.Destination.HTTP.RequestURL[]);

IF I = 0 THEN
    SET localEnv.Destination.HTTP.RequestURL[1] = variables;
ELSE
  SET localEnv.Destination.HTTP.RequestURL[I + 1] = variables;
END IF;"
给返回报文重构命名空间 "SOAP方法返回:
SET OutputRoot.Properties = InputRoot.Properties;
  SET OutputRoot.SOAP.Body = InputRoot.XMLNSC; 
  SET OutputRoot.SOAP.Context.Namespace.(SOAP.NamespaceDecl)xmlns:soapenv = env;
  SET OutputRoot.SOAP.Context.Namespace.(SOAP.NamespaceDecl)xmlns:msg = msg;

HTTP方式返回:
SET OutputRoot.Properties = InputRoot.Properties;
  SET OutputRoot.XMLNSC.env:Envelope.env:Body=InputRoot.XMLNSC;
  SET OutputRoot.XMLNSC.env:Envelope.(XMLNSC.NamespaceDecl)xmlns:soapenv = env;
  SET OutputRoot.XMLNSC.env:Envelope.(XMLNSC.NamespaceDecl)xmlns:siebel = siebel;
"
转换编码集
SET OutputRoot.Properties.CodedCharSetId =1208;
  SET OutputRoot.Properties.ContentType = 'text/xml;charset=UTF-8';
  SET OutputRoot.HTTPInputHeader.""Content-Type"" = 'text/xml;charset=UTF-8';"
将BLOB转换成XMLNSC格式
SET OutputRoot=InputRoot;(保存原有的数据属性Properties和HttpInputHader等)
  DECLARE bodyBlob BLOB;
  SET bodyBlob=OutputRoot.BLOB.BLOB;
  DECLARE creationPtr REFERENCE TO OutputRoot;
  CREATE LASTCHILD OF creationPtr DOMAIN('XMLNSC') PARSE(bodyBlob,
  InputProperties.Encoding,
  InputProperties.CodedCharSetId);(将 BLOB格式的报文转换成XMLNSC格式的报文)

DELETE FIELD OutputRoot.BLOB;(将OutputRoot中BLOB节点删除.)"
重构命名空间
SET OutputRoot.XMLNSC.Envelope.soapenv=ns;
  SET OutputRoot.XMLNSC.Envelope.web=web;
  SET OutputRoot.XMLNSC.soapenv:Envelope.(XMLNSC.NamespaceDecl)xmlns:soapenv = soapenv;
  SET OutputRoot.XMLNSC.soapenv:Envelope.(XMLNSC.NamespaceDecl)xmlns:esb = esb;
  SET OutputRoot.XMLNSC.soapenv:Envelope.soapenv:Body=InputRoot.XMLNSC;"

猜你喜欢

转载自xieguowei123485.iteye.com/blog/1483409
今日推荐