This documentation is for WSO2 App Factory 1.0.0. View documentation for the latest release.

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

The sample is described in the following topics.:

Table of Contents


This sample demonstrates how to invoke yahoo weather API and displays results in a Web application.


  1. Register and log in to WSO2 App Factory here: . See instructions in Getting Started.
  2. Log in to API Publisher ( ) and add API by the name yahoo weather yahooweather - 1.0.0. Provide the following values in Add New API window.

    For more information on creating an API, see APIs.
  3. After creating the API, go to the Life Cycle tab in the API Publisher. Then, select the State to PUBLISHED and update. This publishes the API to App Factory's storefront so that application developers can find and subscribe to it.
    Image Added

You now have a sample API created in App Factory. Let's see how to consume this from your Web app.

Executing the sample

  1. Log in to App Factory portal and click Add New Application to create a new application with the following specifications:

    Name: API-Invoker
    Application Type: Web Application
    Repository Type: Git

    For more information on creating applications, see Creating and Viewing Applicationsan Application.
  2. Check Check out the the API-Invoker source code using the Git clone command. It's folder structure is as follows:
  3.  Write your application

    Replace the WebContent/index.jsp file you find in the above folder structure with the sample index.jsp file found in <AF_HOME>/samples/API_Invoker/WebContent directory. You can find the same file here: /WebContent/index.jsp.

    The sample index.jsp has the following code segment added
    to get keys by calling the CarbonContext and Registry APIs. The correct sandbox and production keys (consumer key and consumer secret) are used depending on where the application is deployed.

    Code Block
    Image Removed
  4. You can find the source code of this sample in <AF_HOME>/samples directory and the sample index.jsp with above changes in API_Invoker/API_Invoker/WebContent/index.jsp. Replace this file in API-Invoker. 
  5. Commit
    CarbonContext cCtx = CarbonContext.getCurrentContext();
            Registry registry = (Registry) cCtx.getRegistry(RegistryType.SYSTEM_GOVERNANCE);
        	//curl -v -H "Authorization: Bearer KY7QoTynVZShrfguQGTNPST88X8a"  	
            Resource resource = registry.get("dependencies/consumerkey");
            if(resource.getContent() instanceof String){
            	consumerkey = (String) resource.getContent();
            	consumerkey = new String((byte[]) resource.getContent());
            resource = registry.get("dependencies/consumersecret");
            if(resource.getContent() instanceof String){
            	secretkey = (String) resource.getContent();
            	secretkey = new String((byte[]) resource.getContent());
  6. After replacing the file, commit the changes to Git repository.  

  7. Subscribe the application Next, subscribe to the Yahoo Weather yahooweather API using steps below:
    In the application created above. Steps below cover this:
    • Log in to the App Factory portal , and select the API-Invoker application created before.
    • Select the Resources tab from the left panel and scroll down to select APIs section. Then, click Subscribe to APIs.
    • The API Manager's storefront opens in a separate window: Click the yahoo weather It lists all APIs published to the store, including  yahooweather - 1.0.0 API you created and published earlier. For example,
      Image Removed
    • Click the yahooweather - 1.0.0 API to open its details. Select API-Invoker from 'Applications' drop down and click 'Subscribe' button. You will get the 'Subscription Successful' pop-up.

6. Generate keys for  API-Invoker from App Factory.


    • Image Added
  1. After subscribing, you get options to generate access keys. Generate keys for sandbox and production separately.    

7. Deploy the application to "Development" environment. Launched app look as follows.

   Image Removed


  1. Next, come back to the App Factory portal and select the Repos and Builds tab. Build and Deploy API-Invoker application in the development environment by simply clicking the relevant buttons in the UI screen.
  2. Launch the application by clicking the Test button and providing the following parameters.
    Image Added


    • End point Url of the Yahoo Weather API


    • :




    • Username & Password of the logged user


      # Click on Submit.


  1. Submit the details to receive response with weather information


  1. printed as an XML file.


  1. Promote the application to


  1. Production


  1. environment and view results.


  1. For details on how to promote applications, see Promoting an application.

The results you get in development environment differ from the same in production environment, because the keys used by the two environments are different. The programmer is unaware about generally not aware of the sandbox and production keys, and everything . This is handled underneathunder the hood.