Как написать код ESQL для запроса на мыло? - PullRequest
0 голосов
/ 13 февраля 2019

Я хочу ESQL код для запроса мыла xml, который будет использоваться для узла запроса мыла в IIB.это простой запрос мыла, который мне нужно преобразовать в ESQL (расширенный sql).

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:emp="http://tempuri.org/employees_ms">
   <soapenv:Header/>
   <soapenv:Body>
      <emp:ReqDetails xmlns:emp="http://tempuri.org/employees_ms">
         <emp:EMP_ID>EJD3</emp:EMP_ID>
         <emp:SALARY_INC>200</emp:SALARY_INC>
      </emp:ReqDetails>
   </soapenv:Body>
</soapenv:Envelope>

1 Ответ

0 голосов
/ 14 февраля 2019

Введение

Я нашел ответ на свой вопрос. Приведенный ниже код ESQL является ответом на указанный выше запрос Soap (xml), запрос мыла, используемый для вызова внешнего веб-сервиса из потока сообщений.

    DECLARE ns1 NAMESPACE 'http://tempuri.org/employees_ms';
    DECLARE soapenv NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
    SET OutputRoot.XMLNSC.soapenv:Envelope.(XMLNSC.NamespaceDecl)xmlns:ns1 = ns1;
    SET OutputRoot.XMLNSC.soapenv:Envelope.(XMLNSC.NamespaceDecl)xmlns:soapenv = soapenv;
    SET OutputRoot.XMLNSC.soapenv:Envelope.soapenv:Body.ns1:ReqDetails.ns1:EMP_ID='EJD2';
SET OutputRoot.XMLNSC.soapenv:Envelope.soapenv:Body.ns1:ReqDetails.ns1:SALARY_INC =200;

Объяснение

этот код внутри вычислительного узла . вычислительный узел e лежит перед SOAPRequest-узлом .поэтому вычислительный узел в потоке сообщений создает запрос мыла к узлу SOAPRequest .так что в соответствии с WSDL для внешнего веб-сервиса мыла сначала нам нужно создать пространства имен в соответствии с WSDL.i объяснит структуру кода ESQL ниже

  1. Определить пространства имен в первых двух строках, начинающихся с 'DECLARE'.
  2. Объявление пространств имен
    Третья и четвертая строки, которые объявляют пространства имен в корне вывода.
  3. Определение тела мыла Остальная часть кода является основной частью, определяющей тело мыла.request.i пропустил в нем заголовок, поскольку он предназначен для тестирования веб-службы * Примечание: * для получения дополнительной информации см. документацию по объявлению пространства имен ESQL и SOAP
    request
...