Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How-To: Convert SOAP APIs to REST APIs

DZone's Guide to

How-To: Convert SOAP APIs to REST APIs

SOAP APIs weren't designed for integration, with developer UX in mind. The new SOAP Builder tool converts your SOAP-based endpoint into a unified REST API.

· Integration Zone
Free Resource

The Integration Zone is brought to you in partnership with Cloud Elements. What's below the surface of an API integration? Download The Definitive Guide to API Integrations to start building an API strategy.

SOAP isn’t dead. Not yet, at least. And that’s a pretty tough pill to swallow coming from an API-first product strategy. Consuming SOAP APIs is especially difficult for app developers working with web and mobile applications. We have to keep in mind that some of the older platforms originally built on SOAP APIs were never really designed for public consumption, or even integration via the web. The architecture was strictly designed for the internal use case, and developer UX was an afterthought. SOAP is a strict document based API and while this offers resilience, it can make crafting a valid API cal complicated - especially in the absence of tooling.

SOAP APIs to REST APIsAs the demand for APIs grows and integration use cases evolve over time, it’s important to consider the developer experience. Here at Cloud Elements, we have taken an innovative approach to API integration, making it easier than ever to integrate your application to dozens of other endpoints with a unified REST API. But like I said, SOAP isn’t dead, yet.

This is why I’m excited to share with you the newest edition to our stack of developer tools: SOAP Builder, an extension of our Element Builder. The core purpose of SOAP Builder is to convert your SOAP-based endpoint into a unified REST API. Developers can now leverage SOAP Builder to transform every API they work into a familiar RESTful experience. As one of our developers mentioned to me, “we’re transposing an ugly interface [SOAP] into something that’s user-friendly.”

Converting SOAP APIs to REST APIs

The value of Element Builder is to abstract and unify resources in a given category. You can use Element Builder to import an API, whether they are REST or SOAP, to either build new Elements or extend the capabilities of existing Elements in our catalog. Element Builder is designed to allow you to focus on the data you need, versus the interface, language, or capabilities it inherently offers.

In addition to now being able to import SOAP APIs into Element Builder to create a new integration, SOAP Builder now supports document-oriented and RPC WSDLs. With this format, the endpoint’s operations and messages are described abstractly, and then bound to a concrete definition that is resource-centric.

“WSDL import is super cool -- a smart tool is REST-fying your SOAP interface for you. It gets you most of the way there, and leaves you to your discretion to get your integration up and running. It just works.”

What’s new in Element Builder with SOAP Builder?

  • You can import from WSDL - similar to an import using Swagger for a REST API.
  • Being able to do an import from WSDL import, gets you at least 80% of the way to converting a SOAP endpoint to a REST endpoint.
  • It imports your new endpoint to conform with the predefined Hub API.

SOAP Builder is particularly exciting for an organization that has existing internal SOAP interfaces they want to expose, and rather than investing into developing a new REST API for their company, they can now use Cloud Elements to modernize and extend the life/utility of their API. Truly a great advance in a world where developers want REST.

Your API is not enough. Learn why (and how) leading SaaS providers are turning their products into platforms with API integration in the ebook, Build Platforms, Not Products from Cloud Elements.

Topics:
integration ,ipaas ,rest api ,app development

Published at DZone with permission of Hannah Shain, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}