Loading…
Loading…
Learn how to import a WSDL contract by file, URL, or pasted XML to generate a draft REST API. Covers parsed elements, inferred settings, and change
Importing a Web Services Description Language (WSDL) contract is the initial step in the Publish flow for creating a REST API from an existing SOAP service. The platform ingests the WSDL to understand the SOAP service's operations, messages, and data types.
From this contract, the platform automatically:
This process provides a fully configured starting point, minimizing the manual effort required to publish a new REST API proxy for a SOAP backend. This document describes the WSDL import process for the Publish (SOAP-to-REST) direction.
To begin, navigate to Onboarding → Upload WSDL. The platform provides three methods for supplying the WSDL contract.
| Method | Description | Notes |
|---|---|---|
| By file | Upload a .wsdl file directly from your local machine. | If the WSDL uses import to reference external XSDs, you must upload those schema files in the same operation for all types to be resolved. |
| By URL | Provide a publicly accessible URL pointing to the WSDL. | The platform fetches the WSDL and transitively resolves xsd:import and xsd:include directives. Cycle protection is in place to handle circular dependencies. |
| Pasted XML | Paste the raw XML content of the WSDL directly into the text area. | This method is useful for evaluating a WSDL snippet or when the contract is not accessible via a direct URL, such as when it is behind authentication. |
Note: For WSDLs that reference XSDs at unreachable URLs (e.g., in an air-gapped environment), the platform cannot fetch them. In this scenario, you must use the By file method and upload the WSDL and all dependent XSDs together. This is a known limitation as of v1.0.
Upon import, the platform performs a comprehensive analysis of the WSDL and its associated schemas.
wsdl:definitions, identifying each portType and operation.document/literal (wrapped and bare) and rpc/literal styles.wsdl:types schema tree for each operation, resolving a wide range of XSD constructs, including:
sequence, choice, allcomplexType, complexContent (extension and restriction), simpleContentgroup, attributeGroupimport, include, redefinexsi:type variants, list, union, wildcards (any, anyType), attributes, mixed content, and restriction facets (enumeration, pattern, etc.).wsdl:fault contracts are parsed to model SOAP fault details for each operation.For a complete list of supported SOAP and XSD features, see SOAP & XSD Support.
The importer can automatically apply namespace repair for WSDLs with missing or inconsistent namespace declarations. This allows contracts that would otherwise fail validation to be successfully onboarded. When a repair is applied, a note is added to the import summary detailing the changes made.
After parsing the WSDL, the platform generates a draft configuration to accelerate the publishing process. You can accept these suggestions or override them before generating the service.
The following settings are inferred:
soap:address location in the WSDL.targetNamespace of the service is captured.serviceKey, serviceName, and environment are generated.GET, POST) and resource paths based on common SOAP operation naming patterns (e.g., get..., list..., create...). If an inference would cause a collision, the unique operation key is used as a fallback. Placeholders in the path (e.g., for an ID) are mapped to matching field names from the request schema (e.g., ById in the operation name might map to a citizenId field in the request).After import, it is critical to review and confirm the inferred backend settings in the Configure the backend step.
For each operation, the import process generates two key artifacts to help you validate the SOAP-to-REST transformation:
These samples allow you to see the exact data transformation before publishing. The SOAP request can be copied directly into the SOAP application test tool for immediate validation. If the service has existing traffic, the platform may use learned values from production to create more realistic examples.
When you import a WSDL that has been imported before (matched first by source name, then by target namespace), the platform performs a comparison against the most recent version of that artifact. The re-import comparison summary highlights:
This same mechanism powers the WSDL drift watch for live, published services. A service's WSDL compliance status is tracked as UP_TO_DATE, DRIFT_DETECTED, BREAKING_DRIFT, or UNTRACKED. If drift is detected, you can use the newer WSDL to generate a replacement draft that preserves your existing REST paths and runtime policies for any unchanged operations.