Proxy Endpoints

Proxy Endpoints

In this article

Overview

Proxy endpoints allow users to access your APIs and third-party APIs. You can define the HTTP methods for your endpoints and apply the appropriate authentication method.

You can:

Endpoint Certificates

Third-party endpoints often have unsigned, self-signed, or expired certificates. Typically, an API will not execute if it encounters a certificate in one of these three statuses. The status of the certificate is beyond the control of an API developer, so if you trust the endpoint, it becomes an inconvenience for the API to fail. Proxies now support the ability to trust all endpoint certificates. You now have the option to choose an endpoint to trust all certificates when you create an endpoint in a Proxy.

SOAP Endpoints

Legacy SOAP services are still prevalent on the web. Enabling SOAP web services in REST APIs provides allows you to take advantage of these services in your REST API endpoints. You can use a Proxy to connect to a SOAP web service and apply API policies against it. In the Create Endpoint dialog, you can easily define parts of the SOAP payload to be dynamically provided by an incoming query parameter or header from the request to execute the Proxy endpoint. This capability enables you to take advantage of the SnapLogic server for your SOAP endpoints and expose them to REST clients.

Benefits

Listed are the benefits of publishing Proxies on your Developer Portal to expose SOAP endpoints:

  • Developers now have access to more user-friendly REST APIs.

  • The transition from SOAP to REST improves overall integration efficiency and performance.

  • The APIM solution provides a centralized platform for managing and monitoring the APIs.

How it works

The Proxy API always treats the SOAP endpoint as a POST call. To turn the SOAP envelope into an HTTP service, the endpoint requires the payload the user wants to submit. This is accomplished via the SOAP parameters. These are added to the Proxy endpoint URI as a query parameter. The response is returned as a REST response. Because you might want to know the definitions of all your existing SOAP endpoints, you can compile them in one XML file. The endpoints broadcast the SOAP XML payloads for the client.

Order of Precedence

When calling a SOAP endpoint, the data is processed according to the following order:

  1. Request Body

  2. Headers

  3. Query Parameters

Learn more about how to expose your SOAP endpoints as REST calls in this example.

Prerequisites

  • Org Admin permissions

Viewing the List of Endpoints

To view the list of endpoints for a Proxy:

  1. In SnapLogic Manager, go to API Management > API Manager.

  2. In the API Manager, go to the APIs & Proxies tab.

  3. Set Filter by Type to Proxy and click Search.

  4. Click the Proxy's name in the list.

  5. Go to the Proxy Endpoints tab.

Proxy Endpoints tab

 

Creating an Endpoint

To create an endpoint:

  1. In the API Manager, open a Proxy for editing, then go to the Proxy Endpoints tab.

  2. Click to open the Create Proxy Endpoint dialog.

  3. Configure the new endpoint:

Field

Description

Field

Description

Endpoint Name

The name for your proxy's endpoint:

  • Must be unique.

  • Must begin with alphanumeric characters A-Z, a-z, or 0-9.

  • Cannot contain the reserved keyword shared.

  • Cannot contain the following characters:
    | < > [ ] { } # ? / \

  • Must be no more than 256 characters. If the name includes double-byte characters, the maximum length is shorter.

URL

The URL to which users send their requests.

Example: https://www.example.com/path/to/the/api

HTTP Method(s)

One or more REST methods for the API that this endpoint will service.

  • Get

  • Put

  • Head

  • Post

  • Patch

  • Delete

Trust all Certificates

Select this checkbox to run the API calls regardless of the certificate status. If you leave this checkbox deselected (default setting), any endpoint with an expired or unsigned certificate will fail the API call.

REST to SOAP

Select this checkbox to enable a SOAP payload as a REST HTTP call. When selected, the SOAP payload filed appears. The default setting is unselected.

The REST to SOAP checkbox only supports incoming GET requests by default. The HTTP method cannot be modified and will always call the SOAP endpoint with a POST.

 

Example of a valid SOAP payload:

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Body>
  <m:GetPriceResponse xmlns:m="https://www.w3schools.com/prices">
    <m:Price>UnitPrice</m:Price>
  </m:GetPriceResponse>
</soap:Body>

</soap:Envelope>

 

Instead of a static value for Price, you can insert a key, such as UnitPrice, where the value can be defined from the request. The endpoint https://snaplogic.io/gateway/MyProxy/MyProxyEndpoint?UnitPrice=10.99 would be replaced in the payload at runtime as 10.99 instead of UnitPrice or a static value.