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

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  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 an Application.
  2. Check out the API-Invoker source code using the Git clone command. It's folder structure is as follows:
  3. 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
    languagehtml/xml
    		String applicationName = pageContext.getServletContext().getInitParameter("applicationKey");
            CarbonContext cCtx = CarbonContext.getThreadLocalCarbonContext();
            Registry registry = (Registry) cCtx.getRegistry(RegistryType.SYSTEM_GOVERNANCE);
           //curl -v -H "Authorization: Bearer KY7QoTynVZShrfguQGTNPST88X8a" http://apimanager.appfactorypreview.wso2.com:8280/twitter/1.0.0/search.atom?q=wso2 wso2 
            Resource resource = registry.get("dependencies/" + applicationName + "/ConsumerKey");
            if(resource.getContent() instanceof String){
                consumerkey = (String) resource.getContent();
            }else{
                consumerkey = new String((byte[]) resource.getContent());
            }
            resource = registry.get("dependencies/" + applicationName + "/ConsumerSecret");
            if(resource.getContent() instanceof String){
                secretkey = (String) resource.getContent();
            }else{
                secretkey = new String((byte[]) resource.getContent());
            }
  4. After replacing the file, commit the changes to Git repository.  

  5. Next, subscribe to the yahooweather API using 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 Enterprise APIs section. Then, click Subscribe  Go to APIsAPI Manager.
       
    • The API Manager's storefront opens in a separate window: https://apimanager.appfactorypreview.wso2.com/store. It lists all APIs published to the store, including  yahooweather - 1.0.0 API you created and published earlier.
    • Click the yahooweather - 1.0.0 API to open its details. Se lect API-Invoker from Applications drop down and Subscribe.

     
  6. After subscribing, you get options to generate access keys. Generate keys for sandbox and production separately.    
  7. 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.
  8. Launch the application by clicking the Test button and providing the following parameters.

  9. Submit the details to receive response with weather information printed as an XML file.
  10. Promote the application to Production environment and view results. For details on how to promote applications, see Promoting an application.

...