How to import a SOAP Web service using an XML data source

Applies to: Denodo 8.0 , Denodo 7.0 , Denodo 6.0
Last modified on: 19 May 2020
Tags: Web Services XML data sources

Download document

You can translate the document:

The recommended way to import a SOAP Web service in Virtual DataPort is by creating a Web service data source. However, if the Web service definition is not supported by this type of data source, it can be imported as an XML data source instead.

The following characteristics are not supported by Web service data sources in Virtual DataPort:

  • recursive input types
  • SOAP Version 1.2

When trying to import such a Web service, you will normally get the following error:

Could not generate wrapper metadata from given WSDL document.

In some scenarios, importing the Web service will be successful, but you will not be able to create a base view from some of its operations, as they will also have the characteristics listed above.

In those cases, the SOAP Web service can be imported into the server as an XML data source. To help with this, you can use a third-party SOAP client to execute the Web service and get the SOAP messages. In this document, we are going to use SoapUI.

The following steps are required to import a SOAP Web service as an XML data source:

  1. Create a new XML data source using HTTP Client for the Data route field, and click on the Configuration section.

  1. Select POST as the HTTP method.

  1. In the URL field, provide the SOAP Web service endpoint to be imported. Usually, the endpoint can be found at the bottom of the WSDL file under the “wsdlsoap:address” or “soap:address” elements and the “location” attribute:

  1. Using SoapUI, execute the Web service operation to be imported in order to fill the required input fields:

  1. Copy the SOAP message from the request made in step 4, and paste it in the Post body field of the XML data source:

  1. In SoapUI, click on the Raw button to see the SOAPAction being executed:

  1. Click on HTTP Headers:

  1. Create a new header with the SOAPAction value:

Use the + button to add it, and click Save to return back to the data source configuration.

  1. In the data source configuration, click Save to create the new XML data source:

  1. Now, you can create a base view to get information from the Web service operation:

Note: You can specify interpolation variables with the “@” character to have input parameters as part of the created base view. To do so, add the variables as part of the Post body in step 5. For example, with @Country:

The base view will then contain an input parameter required to execute the view:

When querying the view, the input will be passed dynamically as part of the WHERE condition:

Questions

Ask a question
You must sign in to ask a question. If you do not have an account, you can register here

Featured content

DENODO TRAINING

Ready for more? Great! We offer a comprehensive set of training courses, taught by our technical instructors in small, private groups for getting a full, in-depth guided training in the usage of the Denodo Platform. Check out our training courses.

Training