This tutorial shows you how to expose an existing SOAP service and transform the XML data that is returned by it into specified JSON data.
About this tutorial
Follow this tutorial to create a REST API in API
Manager by importing the WSDL for an existing SOAP
service. Both SOAP 1.1 and SOAP 1.2 standards are supported by API Connect. When invoked,
the API returns the balance of a fictional bank account for a particular user.
Before you begin
Note: The Sandbox catalog must be configured to use either a
DataPower® API Gateway, or a
DataPower Gateway (v5 compatible), or both. See
Creating and configuring Catalogs.
Setting up a REST API definition
To set up a REST API that invokes an existing SOAP service, complete the following steps.
- Download the SOAP WSDL file AccountServicing.txt. Rename this file AccountServicing.wsdl.
- Log in to the API
Manager UI.
- Click the Develop APIs and Products tile.

- Click .

- Ensure that OpenAPI 2.0 is selected.
- Select From existing WSDL service (REST proxy). Click
Next.

- In the File Upload section, either drag and drop the
AccountServicing.wsdl file, or click to upload from your filesystem.

- The file uploads, and is parsed by API Connect. A confirmation
message is displayed. Click Next to continue.
- Select the AccountServicing WSDL service, and click
Next.

- Leave the values unchanged in the Info section, and click
Next.

- In the Secure section, select the Limit API calls on a per key
basis checkbox, and in the Activate API section, select the
Activate API checkbox. Click Next.

- A Summary screen is now displayed, showing the steps to create and publish
your new API. When this process is complete, you see a summary of the results, including the API
Base Endpoint, and the credentials of the Sandbox Test Application that is automatically subscribed
to the new API.

- Click Edit API. Your new API is now online.

You successfully created a REST API that invokes an existing SOAP service, and included it in a
Product and Plan ready for testing. The WSDL file provided all the information that was needed to
configure the API inputs and response.
Testing your API definition
Note: Due to Cross-Origin Resource Sharing (CORS)
restrictions, the assembly test tool cannot be used with the Chrome or Safari browsers on the macOS
Catalina platform.
To test your API definition by using the API
Manager test tool, complete
the following steps.
- Click the Assemble tab of the AccountServicing API,
to move to the Assemble view, and click the Test icon
. 
Note that the test panel is being deprecated, and will be
moved to the Test tab in a future release.
- The Test panel opens, and you can see that the default Product and Plan
that are needed for the test setup are listed.

- In the Operation section, select the post
/getBalance operation to invoke.

- Scroll down in the Test panel to the request field,
and click Generate to auto-generate a sample request.

- Click Invoke to test the API. The API response is displayed in the
Response section. If you receive a message relating to an untrusted
certificate, click the link provided, accept the certificate, then return to the test environment
and click Invoke again.
The Response section successfully returns the balance of the
account.
What you did in this tutorial
In this tutorial, you completed the following activities:
- Set up a REST API definition.
- Configured the API based on a SOAP WSDL file, to invoke an existing web service and return its
output.
- Tested your API definition.