Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: https://wso2.org/jira/browse/DOCUMENTATION-6730

...

  1. Log in to the API Publisher and click ADD NEW API.
  2. Select the option to design an API with an existing SOAP endpoint, give the endpoint URL and click Start Creating.
    We use the WSDL http://ws.cdyne.com/phoneverify/phoneverify.asmx?wsdl from CDYNE as the endpoint here, but you can use any SOAP backend of your choice.
  3. The Design tab of the API opens. Give the information in the table below and click Implement to proceed to the implementation phase.

    Field
    Sample value
    NameSoapTest
    Context

    /soaptest

    Version1.0

  4. Click the Managed API option.
  5. Provide the production endpoint, which is http://ws.cdyne.com/phoneverify/phoneverify.asmx in this example, and click Manage.

    Note

    Alternatively, in the implementation stage, you can deploy the API as a prototype. APIs are deployed as Prototypes for testing purposes. If you deploy the API as a prototype, you will be able to invoke the API without subscriptions. Refer Create a Prototyped API with an Inline Script for more information on deploying APIs as prototypes.

    For additional information see Enabling CORS for APIs and Adding Mediation Extensions.

  6. In the Manage tab, select the Gold tier, scroll down and click Save and Publish.


    Note

    If you wish to add scopes to resource got created, click on 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 token for the subscribed application and when invoking the API. Refer OAuthscopes for more information on working with the scopes.



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

    Note

    Note that when creating this API, under Advanced Throttling Policies we are keeping the default which is Apply per Resource. For more information on setting Advanced Throttling Policies refer Enforce Throttling and Resource Access Policies.



  7. When prompted, choose to open the newly published API in the API Store.

    Note

    Alternatively you can Login to the store and see the newly created API. Click on the newly published API.

  8. The SoapTest API opens. Select an application (e.g., DefaultApplication), the Gold tier and subscribe to the API.
  9. Click the APPLICATIONS menu and click the Production Keys tab. If you have an access token already generated, scroll down and click Re-generate. By default, access tokens expire an hour after creation, unless you change the expiration time.

    You have now subscribed to an API in the API Store. Let's invoke it using the SOAP UI.
  10. Download the SOAP UI installation that suits your operating system from https://www.soapui.org/downloads/soapui.html and open its console.
  11. In the SOAP UI, right click on the Projects menu and create a new SOAP project.
  12. Give your API's WSDL and click OK. In this case, the WSDL is http://ws.cdyne.com/phoneverify/phoneverify.asmx?wsdl.
  13. The WSDL defines two operations. Let's work with CheckPhoneNumber. Double click Request 1. As this API is protected by OAuth, add an authorization header to your request by clicking the add sign on the Header tab of the console.

  14. Add the following values and submit the request:

    1. Give the value of the Authorization header that you added in the previous step as 'Bearer <the access token in step 9>.

    2. Change the endpoint in the SOAP UI to the production URL of the API. You can copy the production URL from the API's Overview tab.

    3. Give any value (say 18006785432) as the PhoneNumber and 0 as the LicenseKey.

  15. Note that the response appears in the SOAP UI. 

    You have invoked the API using a SOAP client. Let's invoke the same API using the integrated Swagger console in the API Cloud.

  16. Back in the API Store, click the API to open it and go to its API Console tab.
     
  17. Expand the POST method, enter the following, and invoke the API. 

    SOAP Request
    Code Block
    <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 Actionhttp://ws.cdyne.com/PhoneVerify/query/CheckPhoneNumber

  18. Note the API response that appears on the console.
     

...