Сохранение в базе данных данных, полученных с помощью запроса SOAP GET с помощью Dell Boomi

Я новичок в Делл Буми.

Я сделал запрос SOAP GET и получил в ответ некоторые данные. Теперь я хотел бы получить эти данные, подключиться к базе данных и вставить эти данные в таблицу, но я не знаю, как это сделать, потому что, когда я получаю ответ, я не могу получить данные, содержащиеся в ответе от Shape. Исходные данные и использовать их в последующей форме сообщения.

Прежде всего, я покажу вам, что я сделал в моем процессе:

Текст

В начале процесса я инициализирую строковый параметр, который использую для запроса SOAP, затем делаю следующий запрос:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsc="http://webservices.dotnethell.it/WSContents">
   <soapenv:Header/>
   <soapenv:Body>
      <wsc:GetNews>
         <!--Optional:-->
         <wsc:n>{1}</wsc:n>
      </wsc:GetNews>
   </soapenv:Body>
</soapenv:Envelope>

Затем я запускаю тест, и на панели исходных данных фигуры отображается мой ответ:

<Envelope>
  <Header></Header>
  <Body>
    <GetNewsResponse xmlns="http://webservices.dotnethell.it/WSContents">
      <GetNewsResult>
        <root xmlns="">
          <ITEM>
            <TITLE>PASS SQL Saturday Torino 2015</TITLE>
            <ID>163</ID>
            <LINK>http://www.dotnethell.it/news/SQL-Saturday-2015-Torino.aspx</LINK>
            <ABSTRACT>Il 23 Maggio a Torino c&amp;apos;è il PASS SQL Saturday. Saremo presenti anche noi, SQL Server, Entity Framework, BI e molto altro, scopriamo cosa c&amp;apos;è in agenda!</ABSTRACT>
          </ITEM>
        </root>
      </GetNewsResult>
    </GetNewsResponse>
  </Body>
</Envelope>

Затем я выполняю тест «Поиск и замена», а в последующей форме «Уведомление» я печатаю значения, возвращаемые запросом SOAP, следующим образом:

  1. ID: 163
  2. НАЗВАНИЕ: PASS SQL, суббота, Турин, 2015 г.
  3. АННОТАЦИЯ: (весь текст)
  4. ССЫЛКА: http://www.dotnethell.it/news/SQL-Saturday-2015-Torino.aspx

Вы не можете видеть это в моем примере, но чтобы сделать это, я попробовал следующие шаги:

  1. Я создал четыре свойства процесса с типом String и флагом Select, чтобы сохранить значение при последующих выполнениях, проверенных на true:
  1. ID
  2. ЗАГЛАВИЕ
  3. АННОТАЦИЯ
  4. ССЫЛКА НА САЙТ
  1. Я создал операцию сервера веб-служб следующим образом:

Текст

  1. Я создал операцию клиента SOAP веб-служб следующим образом:

Текст

  1. Я создал процесс GetNews следующим образом:

Текст

  1. Я создал XML-профиль GetNews Response следующим образом:

Текст

  1. Я создал кэш документов и прикрепил его к профилю GetNews Response. В кэше документов на основе ответа, полученного запросом SOAP, я добавил следующие индексы:
  • GetNewsResponse
  • ПолучитьНовостиРезультат
  • корень
  • ИНДЕКС
  • ID
  • ЗАГЛАВИЕ
  • ССЫЛКА НА САЙТ
  • АННОТАЦИЯ

Что мне не хватает? Что мне делать, чтобы решить мою проблему?


person Alessandro Violante    schedule 20.07.2020    source источник
comment
Я не совсем понимаю вашу проблему, вы говорите, что после вызова мыла у вас нет данных в профиле XML ( GetNews - Request ), который вы определили? Если у вас есть данные в профиле XML, то остается создать карту, которая преобразует поля XML в поля БД, а затем операцию вставки. Зачем вам их кешировать?   -  person Shaheryar.Akram    schedule 29.07.2020


Ответы (1)


Могу я спросить, почему вы кешируете данные?

Если ваш источник — это ответ SOAP, а ваша цель — база данных, вы можете предпринять следующие шаги.

Создайте шаг базы данных и подключитесь к базе данных. Постройте операцию для этого шага. Создайте профиль для работы шага базы данных. Выполните импорт вставки (или обновления), чтобы создать профиль.

Теперь у вас есть исходный профиль и целевой. Вы должны положить карту между ними.

Есть ли что-то еще, что вам нужно, чтобы получить данные в базу данных? Вы объединяете это?

Дэйвид

person D Byrd    schedule 24.07.2020