All docs This doc
||
Skip to end of metadata
Go to start of metadata

WSO2 API Manager supports the management of both REST and SOAP APIs. 

In this tutorial, we create and publish an API with a SOAP endpoint and then invoke it using the integrated API Console. 

See the following topics for a description of the concepts that you need to know when invoking an API:

Let's get started.

  1. Sign in to the API Publisher and click ADD NEW API.

    The WSDL URL and WSDL Archive/File options that are shown in the following screenshot, which allow you to modify API resources, are only available as a WUM update and is effective from 18th October 2018 (2018-10-18). For more information on updating WSO2 API Manager, see Updating WSO2 API Manager.

  2. Select I Have a SOAP Endpoint in order to design an API with an existing SOAP endpoint, and thereafter, select Pass Through, and 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.

      When uploading a WSDL archive, all the dependent wsdls/xsds that are referred 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 following WSDL URL from CDYNE as the endpoint here, but you can use any SOAP backend of your choice. http://ws.cdyne.com/phoneverify/phoneverify.asmx?wsdl

  3. Click Start Creating.

  4. Proceed to finish creating and publishing the API.

    1. The Design tab of the API opens. Give the information in the table below and click Next: Implement > to proceed to the implementation phase.

      Field
      Sample value
      NamePhoneVerification
      Context

      /phoneverify

      Version1.0.0

    2. Click the Managed API option.
    3. Select HTTP/SOAP Endpoint, provide the production endpoint (in this example,  http://ws.cdyne.com/phoneverify/phoneverify.asmx ), and click Manage.
    4. In the Manage tab, select the Gold tier, scroll down and click Save & Publish.

      If you wish to add scopes to the resources that were created, click Add Scopes and specify the scopes you want to add. If you specify a scope, you need to use the same scope when generating access tokens for the subscribed application and when invoking the API. For more information on working with the scopes, see OAuthscopes.

      • Note that when creating this API, the default option, Apply per Resource, was selected under Advanced Throttling Policies. For more information on setting advanced throttling policies, see Enforce Throttling and Resource Access Policies.

      • For more information on API authentication (e.g., non authentic API invocation), see HTTP methods.

      You have now published the SOAP API to the API Store. Let's subscribe to it.

  5. When prompted, choose to open the newly published API in the API Store.
    The API (namely the SoapTest API) opens. 

    If you click on the Overview tab with regard to a SOAP API, you will be able to download the WSDL for the API.

  6. Select an application (e.g., DefaultApplication), the Gold tier and subscribe to the API. 

  7. Click the View Subscriptions button when prompted. The Subscriptions tab opens. 
  8. Click the Production Keys tab and click Generate Keys to create an application access token. If you have already generated keys before, click Regenerate. By default, access tokens expire an hour after creation, unless you change the expiration time.

    Let's invoke the API.
  9. On the APIs menu, select the API and click the API Console tab.
  10. Expand the POST method and click Try it out. Enter the following, and click Execute to invoke the API.  

    SOAP Request
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:quer="http://ws.cdyne.com/PhoneVerify/query">
       <soapenv:Header/>
       <soapenv:Body>
          <quer:CheckPhoneNumber>
             <!--Optional:-->
             <quer:PhoneNumber>18006785432</quer:PhoneNumber>
             <!--Optional:-->
             <quer:LicenseKey>0</quer:LicenseKey>
          </quer:CheckPhoneNumber>
       </soapenv:Body>
    </soapenv:Envelope>
    SOAP Action http://ws.cdyne.com/PhoneVerify/query/CheckPhoneNumber

    Note the API response that appears on the console.

In this tutorial, you created an API with a SOAP backend and invoked it using the integrated Swagger API Console.

Related Links
  • No labels