This documentation is for WSO2 API Manager 2.5.0. View documentation for the latest release.

All docs This doc

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Removed the note on WUM

...

  1. Sign in to the API Publisher.
    https://<hostname>:9443/publisher (e.g.  https://localhost:9443/publisher ). Use admin as the username and password.
  2. In the APIS menu, click Add New API
  3. Select the option to design a new WebSocket API and click Start Creating.
  4. The Design tab of the API opens. Give the information in the table below and click Next: I mplement > to proceed to the implementation phase.

    Field
    Sample value
    NameEchoWebSocket
    Context

    /echowebsocket

    Version1.0

  5. Click the Managed API option.
  6. Provide the production endpoint and sandbox endpoint, which is ws://echo.websocket.org:80 in this example, and click Next: M anage >

    Info

    With WSO2 API Manager, you can maintain a production and a sandbox endpoint for a given API. The production endpoint is the actual location of the API, whereas the sandbox endpoint points to its testing/pre-production environment.

    Note

    The Test button for the production and sandbox endpoints does not work for WebSocket APIs and is a known issue.

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

    Note

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

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

  8. When prompted, choose to open the newly published API in the API Store.
  9. The EchoWebSocket API opens. Select an application (e.g., DefaultApplication), the Gold tier and subscribe to the API.
  10. Click the View Subscriptions button when prompted. The Subscriptions tab opens.

  11. Click the Production Keys tab and click Generate Keys to create an application access token. If you have already generated keys before, click Regenerate

    You can also add a Callback URL, if you have not added it already when creating the API. You have now subscribed to an API in the API Store and can invoke it using a WebSocket client. In this tutorial, you invoke it using a Netty-based WebSocket client

  12. In your client application, set the WebSocket API URL as shown in the API Store. 


    Note

    SDK generation is not supported for WebSocket APIs as they don't have swagger definitions.

  13. In this example, make sure that the URL in the sample-ws-client/src/main/java/io/netty/example/http/websocketx/client/WebSocketClient.java file matches the one in the API Store.
  14. In the same file, copy and paste the Authorization Bearer access token you generated in step 11 as shown below.
  15. Save your changes.
  16. Open the sample-ws-client directory you downloaded in step 11 using an IDE. This tutorial uses IntelliJ Idea 15 CE as the IDE.
  17. Run the WebSocket client as shown below.
  18. Type a message in the WebSocket client and you will see that it echoes the message as intended by the WebSocket API. 

WSS Support

Note

You need to get the latest product updates for your product to use this feature in the current version of WSO2 API-M.

Warning

Note that you can deploy updates in a production environment only if you have a valid subscription with WSO2. Read more about WSO2 Updates.

The instructions below show you how to use the WSS support capabilities in WSO2 API Manager.

...