//In the Config.xml for each secured map service add
token="x"
//In the ConfigManager.as look for the
//================================================
//map
//section and add
var msToken:String = mapserviceList.@token;
//right above 'var msLabel:String = mapserviceList.@label;'
//then replace
var mapservice:Object =
{
label: msLabel,
type: msType,
visible: msVisible,
alpha: msAlpha,
url: msURL
}
//with
var mapservice:Object =
{
label: msLabel,
type: msType,
visible: msVisible,
alpha: msAlpha,
url: msURL,
token: msToken
}
//Now in MapManger look for 'for (i = 0; i < configData.configMap.length; i++)'
//and add
var token:String = configData.configMap.token;
//to the list of vars
//Then look for case "tiled": and add
if(token)
tiledlayer.token = token;
//before 'map.addLayer(tiledlayer);'
//Then look for case "dynamic": and add
if(token)
dynlayer.token = token;
//before 'map.addLayer(dynlayer);'
//That should do it.
<Project> <tittle>DRAFT map</tittle> <type>EALP</type> <id>103371,101400</id> <ip>192.168.*.*</ip> <token>V1duPcHY9JIdfdfdfwqiakdtef,lfAqqw4OGhuWi774rySvM</token> </Project>
public function resultHandler1(event:ResultEvent):void {
title=(event.result.Project.tittle.toString());
type=new String();
type=(event.result.Project.type.toString());
id=new String();
id=(event.result.Project.id.toString()); //id associated with project
Alert.show(id + type);
idArr=ttidProj.split(",");
idArrLen=ttidArr.length;
secToken = new String();
secToken=(event.result.Project.token.toString());
Alert.show(secToken);
case "dynamic":
{
var dynLayer:ArcGISDynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer(url,null,secToken);
dynLayer.id = label;
dynLayer.name = label;
//I tried uncommenting the line blow and removed token parameter from from function above, all i get is similar result
//dynLayer.token = secToken;
dynLayer.visible = visible;
dynLayer.useMapTime = useMapTime;
dynLayer.imageFormat="png24";
defQuery = new Array();
case "dynamic":
{
var dynLayer:ArcGISDynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer(url,null,secToken);
dynLayer.id = label;
dynLayer.name = label;
//I tried uncommenting the line blow and removed token parameter from from function above, all i get is similar result
//dynLayer.token = secToken;
dynLayer.visible = visible;
dynLayer.useMapTime = useMapTime;
dynLayer.imageFormat="png24";
defQuery = new Array();
package com.esri.viewer.managers {
import mx.rpc.http.HTTPService;
import mx.rpc.events.ResultEvent;
public class RemoteService {
private var remoteService : HTTPService = new HTTPService();
function RemoteService() : void {
remoteService = new HTTPService();
remoteService.url = "http://localhost:8080/docs/ttid.xml";
//remoteService.addEventListener(ResultEvent.RESULT, handleNextResult);
}
public function callServ(callback : Function) : void {
// the listener on the result event will call the callback with the return value
var listener : Function = function(event : ResultEvent) : void {
remoteService.removeEventListener(ResultEvent.RESULT, listener);
callback(remoteService.lastResult);
}
remoteService.addEventListener(ResultEvent.RESULT, listener);
// do the actual call
remoteService.send();
}
}
}
private var remoteServiceProxy : RemoteService = new RemoteService();
//loadConfig();
remoteServiceProxy.callServ(function(result : Object): void {
secToken=result.Project.token;
flag="1";
});
remoteServiceProxy.callServ(function(result : Object): void {
secToken=result.Project.token;
flag="1";
if (flag=="1")
{
loadConfig();
}
});
remoteServiceProxy.callServ(function(result : Object): void {
secToken=result.Project.token;
loadConfig();
});
Alert.show(secToken);in loadConfig(), I can see the token twice.