Quantcast
Channel: Forums - ArcGIS Viewer for Flex
Viewing all articles
Browse latest Browse all 2097

Problem with Flex3.0 widget calling ArcGIS server 10.1 geoprocessing service

$
0
0
Hi all. I've run into another problem with deploying my Flex application. I had it successfully working on a development server, but for the life of me I cannot understand why it is not working on the production server.

For reference:

- windows server 2012 standard (IIS 8)
- arcgis server 10.1
- using arcgis web adapter, although this doesn't seem to be an issue (see below)
- using arcgis flexviewer 3.0 and a customized widget (derived from R. Sheitlin's search widget)
- running custom basemaps and operational layers
- need to call a custom python script running as a geoprocessing service
- both the web server and arcgis server are running on the same physical machine

So the main GUI of the application runs fine, and custom basemaps/operational layers being served up, can be accessed and displayed just fine. It doesn't matter if I access them via the web adapter or not (i.e. http://<IP>:6080/arcgis/rest/services/<servicename> and http://<domain_name>/arcgisWA/rest/services/<servicename> work just fine). So I know I can access data through the web interface that is being served by the Arcgis server.

Additionally, I successfully uploaded all needed data that the python simulation code needs and successfully created a geoprocessing service. I can run this service through ArcCatalog, note that the appropriate service is activated on the server, and get a successfully completed result back (in this case, it emails results to me). So the service is created and running properly (it also doesn't matter if it is created as Synchronous or Asynchronous...see below).

The problem arises when I access it though the Flex3.0 application widget. When the time comes to send data to the geoprocessing service, it is like it calls thin air. Here is a code snipnet I use to do this:

Code:

var params:Object = new Object();
params:Input_State = data;  //simple comma separated string values
params:User_Name = txtUserName.text;  //single string value
var gp:Geoprocessor = new Geoprocessor():
gp.showBusyCursor = true;
gp.url = "http://<ServerIP>:6080/arcgis/rest/services/<servicename>/GPServer/<taskname>";

gp.submitJob(params);  //if I set the service to asynchronous
gp.execute(params); //if I set the service to synchronous; only one of these will be active in code at any one time

This code worked perfectly on my development server in my virtual machine environment. But no matter whether the service is sync or async, on the production server absolutely nothing happens. It effectively throws no errors, but sends the request off into nowhere.

I have added EventListener's to listen for "faultEvents" and nothing triggers. I have added an Alert box to pop up before/after the execute call to show me that the params information is correct. The python script itself has as its first line to open up a unique log file - this helps me monitor a directory to see if the script is even being run. I have changed the gp.url to access both an IP address, as well as the domain name address (and utilizing the web adapter), but still no luck. Flash Builder IDE gives no errors or warnings; the code should work, and indeed does elsewhere.

Any ideas what could be going on here? Am I missing a permissions issue somewhere? Could it be an IIS issue? Thanks for any thoughts/ideas on this.

Brian

Viewing all articles
Browse latest Browse all 2097

Trending Articles