ZCS 6.0:Zimlet Developers Guide:Examples:HTTP GET and POST: Difference between revisions

 
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{| cellspacing="0" cellpadding="5" style="border: 1px solid rgb(153, 153, 170); margin: 0pt 0.5em 0.5em 0pt; float: none; background-color: rgb(249, 249, 255);"
{{BC|Community Sandbox}}
__FORCETOC__
<div class="col-md-12 ibox-content">
=ZCS 6.0: Zimlet Developer Guide:Examples:HTTP GET and POST=
{{KB|{{Unsupported}}|{{ZCS 7.0}}|{{ZCS 6.0}}|}}
{{WIP}}{| cellspacing="0" cellpadding="5" style="border: 1px solid rgb(153, 153, 170); margin: 0pt 0.5em 0.5em 0pt; float: none; background-color: rgb(249, 249, 255);"
|[[Image:zdg-6-menu-icon-zimbra.jpg|20px]]
|[[Image:zdg-6-menu-icon-zimbra.jpg|20px]]
|[[ZCS 6.0:Zimlet Developers Guide:Introduction|Introduction]]
|[[ZCS 6.0:Zimlet Developers Guide:Introduction|Introduction]]
Line 15: Line 20:
|[[ZCS 6.0:Zimlet Developers Guide:Example Zimlets|Example Zimlets]]
|[[ZCS 6.0:Zimlet Developers Guide:Example Zimlets|Example Zimlets]]
|}
|}
== Description ==
== Description ==


Line 86: Line 90:
var extServerParams = ["q", "=", AjxStringUtil.urlComponentEncode("london bridge")].join("");
var extServerParams = ["q", "=", AjxStringUtil.urlComponentEncode("london bridge")].join("");
// add parameters to the url
// add parameters to the url  
var extServerUrl = [extServer, "?", params].join("");
        //ATTENTION: you'll find "params" instead of "extServerParams" in the source code you're
        //downloading, so you'll have to change it manually...if not done already
var extServerUrl = [extServer, "?", extServerParams].join("");


// url encode the external server url
// url encode the external server url
Line 126: Line 132:
{| cellspacing="0" cellpadding="5" border="1"
{| cellspacing="0" cellpadding="5" border="1"
|Zimlet Package
|Zimlet Package
|[http://files.zimbra.com/docs/zimlet/zcs/6.0/examples/com_zimbra_example_httpgetpost/com_zimbra_example_httpgetpost.zip com_zimbra_example_httpgetpost.zip]
|[https://github.com/Zimbra-Community/zimlets-foss/raw/master/Zimlet/src/zimlet/com_zimbra_example_httpgetpost.zip com_zimbra_example_httpgetpost.zip]
|}
|}






{{Article Footer|Zimbra Collaboration Suite 6.0|02/22/2010}}
{{Article Footer|Zimbra Collaboration Server 7.0|02/22/2010}}


[[Category:Developers]]
[[Category:Developers]]
[[Category:Zimlets]]
[[Category:Zimlets]]
[[Category:ZCS 7.0]]
[[Category:ZCS 6.0]]
[[Category:ZCS 6.0]]

Latest revision as of 12:17, 3 November 2020

ZCS 6.0: Zimlet Developer Guide:Examples:HTTP GET and POST

   KB 3407        Last updated on 2020-11-3  




0.00
(0 votes)
Zdg-6-menu-icon-zimbra.jpg Introduction Zdg-6-menu-icon-green-flag.png Getting Started Zdg-6-menu-icon-terminal.png Dev Environment Setup Zdg-6-menu-icon-gear.png Developing Zimlets Zdg-6-menu-icon-advanced.jpg Advanced Concepts Zdg-6-menu-icon-library.jpg API Specifications Zdg-6-menu-icon-checkbox.jpg Example Zimlets

Description

This zimlet shows using the AjxRps.invoke() method to call a URL from your zimlet via GET and POST. Also shows how to call an external service (via the Proxy Servlet).

Definition File

<zimlet name="com_zimbra_example_httpgetpost" version="1.0" description="An example zimlet using HTTP GET and POST.">
    <include>com_zimbra_example_httpgetpost.js</include>
    <handlerObject>com_zimbra_example_httpgetpost_HandlerObject</handlerObject>
    <zimletPanelItem label="Zimlet Example (HTTP GET and POST)" icon="zimbraIcon">
      <toolTipText>Right click to display the menu</toolTipText>
      <contextMenu>
        <menuItem label="HTTP GET" id="CALL_VIA_HTTP_GET" />
        <menuItem label="HTTP POST" id="CALL_VIA_HTTP_POST" />
        <menuItem label="HTTP GET (external)" id="CALL_VIA_HTTP_EXTERNAL_GET" />
      </contextMenu>
   </zimletPanelItem>
</zimlet>

Handler Object

/**
 * Displays the zimlet jsp page.
 * 
 */
com_zimbra_example_httpgetpost_HandlerObject.prototype._executeHttpGet = 
function() {
	
	var jspUrl = this.getResource("jspfile.jsp");

	var response = AjxRpc.invoke(null, jspUrl, null, null, true);

	if (response.success == true) {
		appCtxt.getAppController().setStatusMsg(response.text);		
	}
	
};

/**
 * Displays the zimlet jsp page.
 * 
 */
com_zimbra_example_httpgetpost_HandlerObject.prototype._executeHttpPost = 
function() {
	
	var jspUrl = this.getResource("jspfile.jsp");

	var response = AjxRpc.invoke(null, jspUrl, null, null, false);

	if (response.success == true) {
		appCtxt.getAppController().setStatusMsg(response.text);		
	}
	
};

/**
 * Performs a "GET" against an external server using the Proxy Servlet.
 * 
 */
com_zimbra_example_httpgetpost_HandlerObject.prototype._executeExternalHttpGet = 
function() {
	
	var extServer = "http://search.twitter.com/search.json";

	// create and encode the query params of the external server url
	var extServerParams = ["q", "=", AjxStringUtil.urlComponentEncode("london bridge")].join("");
	
	 // add parameters to the url 
         //ATTENTION: you'll find "params" instead of "extServerParams" in the source code you're
         //downloading, so you'll have to change it manually...if not done already
	var extServerUrl = [extServer, "?", extServerParams].join("");

	// url encode the external server url
	// since it will part of the query params for the proxy servet
	var encodedExtServerUrl = AjxStringUtil.urlComponentEncode(extServerUrl);
	
	// create proxy servlet URL
	var proxyServletUrl = [ZmZimletBase.PROXY, encodedExtServerUrl].join(""); 

	// submit the URL and asynchronous response (using callback)
	AjxRpc.invoke(null, proxyServletUrl, null, new AjxCallback(this, this._httpExternalGetCallback), false);
	
};

/**
 * Handles the callback from the external http GET AjxRpc.invoke().
 * 
 * 
 * @see		com_zimbra_example_httpgetpost_HandlerObject._executeExternalHttpGet
 */
com_zimbra_example_httpgetpost_HandlerObject.prototype._httpExternalGetCallback =
function(response) {

	if (response.success == false) {
		// display the error response
		appCtxt.getAppController().setStatusMsg("Error: " + response.text, ZmStatusView.LEVEL_WARNING);
		return;
	}

	// display the response
	appCtxt.getAppController().setStatusMsg(response.text);		

};

Download

Zimlet Package com_zimbra_example_httpgetpost.zip


Verified Against: Zimbra Collaboration Server 7.0 Date Created: 02/22/2010
Article ID: https://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Examples:HTTP_GET_and_POST Date Modified: 2020-11-03



Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »

Jump to: navigation, search