Expose a SOAP Service as a REST API¶
WSO2 API Manager supports the management of an existing SOAP and WSDL based services exposing as REST APIs. The organizations that have SOAP/WSDL based services can easily bridge their existing services to REST without the cost of a major migration. WSO2 API Manager supports two types of services. One service performs a pass-through of the SOAP message to the backend, and the other service generates a RESTful API from the backend SOAP service.
Follow the instructions below to create a SOAP service as a RESTful API using Pass Through
-
Sign in to the API Publisher Portal.
https://<hostname>:9443/publisher
Example:
https://localhost:9443/publisher
-
Click CREATE API and then click Import WSDL under SOAP API.
-
Select the Pass Through option and thereafter, select one of the following options:
-
WSDL URL - If you select this option, you need to provide an endpoint URL.
-
WSDL Archive/File - If you select this option, click Browse and upload either an individual WSDL file or a WSDL archive, which is a WSDL project that has multiple WSDLs.
Note
When uploading a WSDL archive, all the dependent WSDLS/XSDS that are referred to in the parent WSDL file should reside inside the WSDL archive itself. If not, the validation will fail at the point of API creation.
This example uses the WSDL Phone Verify from CDYNE as the endpoint here, but you can use any SOAP backend of your choice.
-
-
Click NEXT to proceed to the next phase, provide the information in the table below, and click CREATE.
Field Sample Value Name PhoneVerification Context /phoneverify Version 1.0 Endpoint http://ws.cdyne.com/phoneverify/phoneverify.asmx The created API appears in the Publisher as follows.
-
Click API Definition to view the API definition of the created schema.
Note
If you wish to add scopes to the resources that were created, click Resources. Thereafter, create new scopes and specify them under operation scope. If you specify a scope, you need to use the same scope when generating access tokens for the subscribed application to invoke the API. For more information on working with the scopes, see OAuth scopes.
Note
Note that when creating this API, API Level was selected as the default option for the Rate limiting level. For more information on setting advanced throttling policies, see Enforce Throttling and Resource Access Policies.
Now, the SOAP service is created and configured successfully as a RESTful API.
For more information on API publishing, see Publish API.
Once you create and publish the API, you can also deploy the API you created.
To learn more, see the tutorial on Creating and Publishing a SOAP service as a RESTful API.