This documentation is for WSO2 Microgateway 3.0.1. View documentation for the latest release.

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

This is only applicable if you wish to import your APIs from WSO2 API Manager.

It is possible to create a Microgateway distribution for a group of WSO2 API Manager (WSO2 API-M) related APIs, by importing the group of APIs, which are published on WSO2 API Manager, based on a perferred Microgateway label. Similarly, you can also use a Microgateway label to import a single published API from WSO2 API Manager.

Follow the instructions below to create a Microgateway distribution for a group of APIs that you have imported from WSO2 API Manager.

Step 1 - Follow the installation prerequisites

Make sure to carry out all the installation prerequisites.

Step 2 - Assign an API to an API Microgateway

For more information, see Creating and attaching a Microgateway to an API in the WSO2 API Manager 2.6.0 documentation.

Step 3 - Generate a Microgateway project

Follow the instructions below to generate a Microgateway project for a group of APIs that correspond to a specific Microgateway label.

  1. Initialize an API Microgateway project (e.g., marketing_project).
    Navigate to a preferred folder where you want to create the Microgateway project. Thereafter, run the following command.

    micro-gw init <project-name>
    micro-gw init marketing_project
    Project 'marketing_project' is initialized successfully.
  2. Import the APIs, which are published in WSO2 API Manager, that correspond to a specific Microgateway label.

    micro-gw import -l <label> <project-name> 
    micro-gw import -l MARKETING_STORE marketing_project

    WSO2 API Microgateway Toolkit prompts for the following.

    • Username and Password - Enter your user credentials. The username and password should correspond to a valid user in WSO2 API Manager

    • APIM base URL - This is the WSO2 API Manager URL. If you want to use the default value, click enter.

    • Trust store location and password of WSO2 API Microgateway Toolkit - If you want to use the default value, click enter.

    Enter Username: 
    Enter Password for admin: 
    Enter APIM base URL [https://localhost:9443]: 
    You are using REST version - v0.14 of API Manager. (If you want to change this, go to <MICROGW_HOME>/conf/toolkit-config.toml)
    Enter Trust store location: [lib/platform/bre/security/ballerinaTruststore.p12]
    Enter Trust store password: [ use default? ]
    ID for API 30e623704c5c5479b7c0d9ab78e965df02c1610401e37cbd557e6353e3191c76

    After the APIs are imported, you can find the auto-generated OpenAPI definitions in the <MGW-project>/gen/<OpenAPI_definition-file-name>.JSON directory of the project (e.g., /marketing_project/gen/30e623704c5c5479b7c0d9ab78e965df02c1610401e37cbd557e6353e3191c76swagger.json)

Step 4 - Build the Microgateway

Build the WSO2 API Microgateway project (e.g.,marketing_project).

  1. Navigate to the <MGW_HOME>/bin directory and run the following command.

    micro-gw build <project-name>
    micro-gw build marketing_project
    Compiling source
    Running tests
    	No tests found
    Generating executable

    This creates an executable file (/marketing_project/target/marketing_project.balx) that you can use to expose the group of APIs via WSO2 API Microgateway.

Step 5 - Run the Microgateway

Start WSO2 API Microgateway.

Format - Linux/Mac OS
gateway <path-to-MGW-executable-file>
Format - Windows OS
.\gateway.bat <path-to-MGW-executable-file>
Example - Linux/Mac OS
gateway /Users/kim/Downloads/TestProj/marketing_project/target/marketing_project.balx

WSO2 API Microgateway starts for the APIs, which are grouped with the MARKETING_STORE label. 

ballerina: HTTP access log enabled
[ballerina/http] started HTTPS/WSS endpoint
[ballerina/http] started HTTPS/WSS endpoint
[ballerina/http] started HTTP/WS endpoint
2019-05-30 18:09:32,540 INFO  [wso2/gateway] - HTTPS listener is active on port 9095 
2019-05-30 18:09:32,541 INFO  [wso2/gateway] - HTTP listener is active on port 9090 
  • No labels