1

I'm new to Dell Boomi.

I've done a SOAP GET request and I have received some data in the response. Now I would get that data, connect to a Database and insert that data in a table, but I don't know how to do it because when I get the response I'm not able to get the data contained in the response from "Shape Source Data" and use it in the subsequent "Message" shape.

First of all, I show you what I did in my process:

Text

At the beginning of the process, I initialize the string parameter I use to make the SOAP request, then I make the following request:

<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>

Then I launch the test and in the "Shape Source Data" panel, my response is shown:

<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>

Then I make a Search & Replace test, and in the subsequent Notify shape I would print the values returned by the SOAP request as follows:

  1. ID: 163
  2. TITLE: PASS SQL Saturday Torino 2015
  3. ABSTRACT: (The whole text)
  4. LINK: http://www.dotnethell.it/news/SQL-Saturday-2015-Torino.aspx

You can't see this in my example, but to do it I've tried the following steps:

  1. I've created four Process Properties, having type String and with the flag "Select to persist the value across subsequent executions" checked on true:
  1. ID
  2. TITLE
  3. ABSTRACT
  4. LINK
  1. I've created the Web Services Server Operation as follows:

Text

  1. I've created the Web Services SOAP Client Operation as follows:

Text

  1. I've created the GetNews process as follows:

Text

  1. I've created the GetNews Response XML profile as follows:

Text

  1. I've created a Document Cache and I have attached it to the GetNews Response profile. In the document cache, based on the response retrieved by the SOAP request, I added the following indexes:
  • GetNewsResponse
  • GetNewsResult
  • root
  • INDEX
  • ID
  • TITLE
  • LINK
  • ABSTRACT

What am I missing? What should I do to solve my problem?

  • 1
    I don't quite understand your problem, are you saying that after the soap call, you don't have the data in XML profile ( GetNews - Request ) that you defined? If you have the data in the XML profile then what's left is to create a map that would translate the XML fields to DB fields and then an insert operation. Why do you need to cache them? – Shaheryar.Akram Jul 29 '20 at 10:51

1 Answers1

1

Can I ask why you are cache-ing the data?

If your source is a SOAP response and your target is a database, you might take the following steps.

Build the database step and Connect to the database. Build the operation for that step. Build the profile for the operation of the database step. Perform an import of an insert (or update) to build out the profile.

Now you have the source profile and the target. You should put a map in between.

Is there more you need to get the data into the database? Are you merging this?

David

D Byrd
  • 11
  • 1