Quantcast
Channel: Forums - ArcGIS for Server - General
Viewing all 1297 articles
Browse latest View live

Determine Service Author and Publishing Date

$
0
0
Hello!

I'm interested in best practices for managing services published throughout my company. One of the ideas our ArcGIS for Server team has been discussing is defining a service "lifespan". The basic idea is that services would be automatically deleted after a set period of time unless the service author takes some sort of action. The author would be notified in advance when their service is reaching its expiration date. What I'd like to know is whether or not there is a way to determine who has authored a service and when it was published, so that the automated expiration warning is sent to the appropriate user. Does anyone happen to know if service author information is readily made available when a service is published? If so, how can it be accessed? Any thoughts or advice would be greatly appreciated!

Take care,

Amy

Supply a feature class for a GP service

$
0
0
A model I built with ModelBuilder works as expected in Desktop yet generates numerous error messages when published as a geoprocessing (GP) service in ArcGIS Server 10.1 SP1. I've decided to start simple then and am trying to get just a single tool to work.

Here is my model. It has one parameter, a table or a feature class to truncate. When running in ArcGIS Desktop 10.1 SP1, user can specify what object should be truncated. When publishing as a model after getting a successful result, I use default settings for all settings (and Info for Message Level).

Attachment 21666

When running the GP service task in the same ArcGIS Desktop, I get this window in order to supply an object for truncating.

Attachment 21667

After pointing to a dataset (stored in a 10.1 file geodatabase on a local disk drive), the GP task gets running. The task does not truncate table and produces an error: 000187 : Only supports Geodatabase tables and feature classes.

My guess is that it has something to do with the Input mode of the task (User defined value) which makes it impossible to supply to my task a feature class from a file geodatabase in the file system. It seems as model uses the empty FeatureSet object instead of a feature class I supply when running the GP service task.

Is there a way to make the Truncate Table GP tool to use another feature class (not the same used when running the model first in Desktop before publishing) when published as a GP service?


EDIT: the model for truncating a table works fine when there are no parameters exposed and when running the GP task of a published service, it runs over the same feature class I've used when running the model first to generate a result. So, the GP service does work with feature classes yet only with the same one used when running the model before publishing.

Question: is it possible to supply a feature class to a GP task that differs from the feature class used to run the model and generate the result? NB: the feature class is not copied to the arcgisserver folder, it is being processed properly right in the geodatabase on the disk, so this part works properly.

Import/Export multiple map services from one machine to another

$
0
0
ArcGIS Server 10.0 has a tool/option, which allows for the wholesale export/import of services from one server to another. Is there a similar tool/option in ArcGIS Server 10.1 that allows for multiple transfer of services to another machine (i.e., from development server to production server)? I would greatly appreciate any advice.

Mehrshad
U.S. Census Bureau

advanced label expression in Arcgis server doesn't label

$
0
0
I'd like to use the following advanced label expression for a layer in a map service. This javascript function works in arcmap, but does not label the features when its published as a map service. In the publishing preview window the labels do appear, but not in the finished service.

function FindLabel ( [NPC_CATEGORY_ID] )
{

idArray=["231","371","372","375","376"];
codeArray=["WPn53","WMs83","WMs92","WPn53","WPn53"];
var labelValue = [NPC_CATEGORY_ID];

for (var i=0,l=idArray.length; i<l; i++)
{
if (idArray[i] == [NPC_CATEGORY_ID] ){
labelValue = codeArray[i];
}
}

return labelValue;


}


Although, it doesn't present a solution that I could use, the following thread is similar:
http://forums.arcgis.com/threads/704...ighlight=label


If you have any thoughts on this one, please let me know.
Thanks greatly,
Sonia

Issues accessing Users and Roles tabs

$
0
0
I have had ArcGIS Server 10.1 for about 2 months now and recently I am unable to login with my user name (which was assigned a role to allow access previously). This is a recent issues that was never encountered before when signing in.

I am able to sign in with the admin account, and when I go to view the Users or Roles tab in security, the page never loads Attachment 21676

Any recommendations on how to get this working again to add users and assign roles would be extremely helpful!
Attached Thumbnails
Click image for larger version

Name:	Users or roles.PNG‎
Views:	N/A
Size:	18.4 KB
ID:	21676  

Publishing Error

$
0
0
I get this error when I publish a Service through ArcMap, "Expected to find comma, colon or start of array; state: Empty; buffer: " Do you know what is causing it and how to fix it?

Registering Database

$
0
0
What do I got to do, to get my database registered. It keeps giving me error after error. I think its something to do with permissions, but I dont know where it wants me to change it. help!!!

com.esri.arcgis.discovery.admin.security.AGSSecurityException

$
0
0
Anyone know what this error is and how to fix it? When I log into Server Manager, the root folder (and sub folders) show up as empty, but if I connect via ArcMap or go to the services REST endpoint I can see my services listed. I get the error in the title when I log into the admin directory and click on the Permissions link on any folder.

Fiddler show the same error when I try to click the permisson button for any folder in Manager

Terry

Registration of geodatabases fails with web services that include feature acces

$
0
0
I have a server connected and registered with an SDE Geodatabase.

I can publish a web service without copying data to the server no problem.

As soon as a I add 'feature access' to the capabilities of the web service, the analyzer claims that the geodatabase is not registered with the server. I double click the warning icon and re-validate and it gives the great green check mark that everything is OK. I have the box checked for using the same connection as the user. I have full read write privileges on this geodatabase.

This only happens when attempting to allow feature access.

I am connected using database authentication and have the boxes checked to save username and password. Everything is 10.1.

Any ideas???

Thanks in advance.

Error: “Packaging failed” + “the data item is inaccessible”,

$
0
0
Error: “Packaging failed” + “the data item is inaccessible”,

While trying to publish an mxd file, I got the message below knowing that

1. The “ArcGIS Server Account” is shared to the folder containing the data (*.mdf)
2. “ArcGIS Server Account” has full control on the folder containing the data (*.mdf)
3. The SDE data is registered

Attachment 21761, Attachment 21762



What might be the issue then?


Thank you

Best

Jamal
Attached Thumbnails
Click image for larger version

Name:	Clip_61.jpg‎
Views:	N/A
Size:	96.8 KB
ID:	21761   Click image for larger version

Name:	Clip_62.jpg‎
Views:	N/A
Size:	131.4 KB
ID:	21762  

Unable to clean all log files. ... Can I delete them manually?

$
0
0
On 10.1 sp1, I log into manager and under Logs I choose "Delete all Logs".

I get this error:
Quote:

Error while cleaning all logs. Unable to clean all log files.
The log folder is owned by the arcgisserver service account.

Can I just go into the file explorer and delete folders under
C:\arcgisserver\logs\<servername> ?

Anyway to check/manage existing tokens?

$
0
0
For an admin, do we have a way to check/manage existing tokens?

Ownership-based access control for feature services has no Query option

$
0
0
I have a feature service that I want multiple people to use, but only be able to see their own features, the ones they create.

The documentation states this can be done:
When you publish the service and check the Feature Access capability, also check the property Enable ownership-based access control on features. You can then choose Operations allowed on features created by other users (Query, Update, and Delete) to specify the things that noncreators can do. The creator can perform all the operations allowed on the service in general.

Keep in mind that if you uncheck Query, the logged in user will only see features they created. Conversely, if Query is checked and Update and Delete are unchecked, the user can Query but will have read-only access to features owned by other users.
However, there is NO Query checkbox in the Service Editor under Feature Access > Operations allowed on features created by other users. Only Update and Delete.

The interface shows only enable, update or delete as parameters and has no isAllowOthersToQuery method.

Is there something I am missing or is this just in the documentation and not implemented?
Attached Thumbnails
Click image for larger version

Name:	Capture.JPG‎
Views:	N/A
Size:	74.7 KB
ID:	21813  

AuthorizeASRFromFile() fails with ErrorCode -2147467259

$
0
0
Background:
I am trying to authorize using an ESLF file from ESRI in code. The method calls are the same as used in 10.0 to authorize against an ASR file.

When I call:
Code:

pAuth.AuthorizeASRFromFile(asrLocation, password)
I get "Error HRESULT E_FAIL has been returned from a call to a COM component."
The error code is -2147467259

I have searched ESRI and Google but have not been able to find this error code.

The ESLF file is in the app folder next to the former 10.0 ASR file. The password is the same as the old ASR file according to ESRI.

I used Process Monitor to check if there was a security issue with the service accessing the file. The file never pops up in PM. And just to check that there was not an issue with my PM filter I clicked on the file in explorer and PM immediately registers the file access.

Any ideas? This should not be that difficult.

-Gary

Map cashing: selecting tilling schema file,

$
0
0
Map cashing: selecting tilling schema file,

I’m wondering how the tilling schema file can be changed (another schema file is required to be used as tilling schema file).

The system doesn’t allow selecting the tilling schema file (after a schema file is selected)

Attachment 21848


How might this issue be resolved?

Thank you

Best

Jamal
Attached Thumbnails
Click image for larger version

Name:	Clip_262.jpg‎
Views:	N/A
Size:	202.1 KB
ID:	21848  

Changes on mxd don't appear on its published CACHED service,

$
0
0
Changes on mxd don't appear on its published CACHED service,

I’m wondering why the changes on the mxd file are not displayed on its Cashed published service despite the fact that

1. The option “update cache automatically” is checked

Attachment 21852

2. The option “overwrite an existing service” is chosen

Attachment 21853

3. The option “keep existing map cache” is unchecked

Attachment 21854

4. The status of the cache is updated

Attachment 21855

5. Why a new service is created? How the web application will be directed to this new service?

Attachment 21856

What might be the issue then? How the cached service is updated to update the web application?

Thank you

Best

Jamal
Attached Thumbnails
Click image for larger version

Name:	Clip_269.jpg‎
Views:	N/A
Size:	107.9 KB
ID:	21852   Click image for larger version

Name:	Clip_270.jpg‎
Views:	N/A
Size:	202.3 KB
ID:	21853   Click image for larger version

Name:	Clip_271.jpg‎
Views:	N/A
Size:	197.7 KB
ID:	21854   Click image for larger version

Name:	Clip_272.jpg‎
Views:	N/A
Size:	202.7 KB
ID:	21855   Click image for larger version

Name:	Clip_273.jpg‎
Views:	N/A
Size:	106.6 KB
ID:	21856  

Arcgis server - WFS - openlayers srs problem

$
0
0
Hi,

I'm trying to display vector features over Google Maps with Open layers. As vectors are stored projected using EPSG: 3949, and Google Maps comes with unprojected EPSG: 900913, on the fly conversion is mandatory but doesn't work. Data are display in Norway instead of France.

Using GetCapabilities, I noticed that Arcgis returns

<wfs: DefaultSRS>urn: ogc: def:crs:EPSG:6.9: 3949</wfs: DefaultSRS>
<wfs:OtherSRS>urn: ogc: def:crs:EPSG:6.9: 4326</wfs: OtherSRS>

If I understand well, this means that Arcgis Server WFS is not able to deliver EPSG: 900913 ? In this case, it's useless to set openlayers.protocol.wfs srsname to EPSG:900913 ?

Am I right ? Is there a way to set Arcgis Server that it can send data converted in EPSG: 900913 ?

Thanks for any idea,

Olivier

ERROR: “Base definition table string “boundary” is invalid” + “packaging failed” +...

$
0
0
ERROR: “Base definition table string “boundary” is invalid” + “packaging failed” + “the data item is inaccessible” + ….,

This is one of the most complicated error that I couldn’t figure out how it might be solved.

This error is generated when trying to publish a particular mxd file from the CLIENT MACHINE (in which the ArcGIS server is NOT installed)!

I copied the folder containing my data and mxd to the D:\ partition of the SERVER MACHINE and tried to publish it (from the SERVER MACHINE) and found out that it is published without any problem. Then the issue is not related to the feature class itself but to the publishing from the CLIENT MACHINE. Are we supposed then to publish from the server machine itself?!

I did all the valuable suggestions I received from the professional guys on the forum but sounds not to work. Amongst:

1. The folder containing the data is SHARED with everyone
2. Everyone has granted a FULL SECURITY CONTROL on the folder containing the data
3. The folder containing the data is REGISTERED in the “DATA STORE”
4. A user called “ArcGIS Server Account” user is created on the CLIENT MACHINE and is shared and granted full security control on the folder containing the data

Facts:

• The network map of my machines is as shown in the screenshot below (where p1 is the client machine and p2 is the server machine)

Attachment 21870

• The users of the client machine are shown in the screenshot below

Attachment 21871

• “Everyone” and “ArcGIS Server Account” users are shared to the folder containing the data, are granted full security control and registered in the “data store”.

NEVERTHELESS, I’m still getting the errors below!

Attachment 21872, Attachment 21873, Attachment 21874

What might be the issue then? What I need to consider to overcome this very frustrating problem?


Thank you very much,

Best

Jamal
Attached Thumbnails
Click image for larger version

Name:	Clip_276.jpg‎
Views:	N/A
Size:	103.1 KB
ID:	21870   Click image for larger version

Name:	Clip_279.jpg‎
Views:	N/A
Size:	146.6 KB
ID:	21871   Click image for larger version

Name:	Clip_274.jpg‎
Views:	N/A
Size:	92.0 KB
ID:	21872   Click image for larger version

Name:	Clip_277.jpg‎
Views:	N/A
Size:	74.6 KB
ID:	21873   Click image for larger version

Name:	Clip_278.jpg‎
Views:	N/A
Size:	74.1 KB
ID:	21874  

custom java identity store for 10.1

$
0
0
we're trying to integrate an existing, complex authentication system (using passwords, LDAP, google/facebook/etc authentication depending on the user) into arcGIS server. we don't actually need arcGIS manager to manage this as its an existing system w/working management tools in place. we were hoping that we could just implement the validateUser method, is this the case? or do we need to implement more methods?

thanks.

SOE REST Web Service - How to return different MIME content types? java

$
0
0
Folks,

I posted this in the ArcObjects forum, but thought I'd see if anyone here might have an idea, too.

After upgrading to 10.0 Release, and making the requisite changes to my REST operation's method signature (by adding an additional parameter, requestProperties), my SOE no longer returns a PNG image that clients can use; instead, it returns the PNG's byte array representation as text.
I've spent some time today looking into the cause of this, and it seems like this is the case:

1) At 10.0 Prerelease, my SOE's HTTP response contained no content type.
2) At 10.0 Release, the response contains this content type: "text/plain;charset=utf-8"

To my surprise, I noticed a new method- handleRESTRequest and parameter - ring[] responseProperties. Looking at its documentation in the object browser, this seemed to be something useful, and might just give me what I need. However, I'm not actually able to get it to work. When I try something like this...

Code:

@Override
        public byte[] handleRESTRequest(String capabilities, String resourceName,
                        String operationName, String operationInput, String outputFormat,
                        String requestProperties, String[] responseProperties)
                        throws IOException, AutomationException {

                /*
                * This method handles REST requests by determining whether an operation
                * or resource has been invoked and then forwards the request to
                * appropriate methods.
                */

                try
                {
                        // if no operationName is specified send description of specified
                        // resource
                        if (operationName.length() == 0)
                        {
                                return getResource(resourceName);
                        }
                        else
                        // invoke REST operation on specified resource
                        {
                                return invokeRESTOperation(capabilities, resourceName, operationName, operationInput, outputFormat,
                                                requestProperties, responseProperties);
                        }
                }
                catch (Exception e)
                {
                        return ServerUtilities.sendError(0, "Exception occurred: " + e.getMessage(), null).getBytes("utf-8");
                }       
        }



private byte[] invokeRESTOperation(String capabilitiesList, String resourceName, String operationName,
                        String operationInput, String outputFormat, String requestProperties, String[] responseProperties) throws Exception
        {
                JSONObject response=null;
               
                byte[] operationOutput = null;
                JSONObject operationInputAsJSON = new JSONObject(operationInput);

               
               
                //parse request properties and create a map
                java.util.Map<String, String> requestPropertiesMap = new HashMap<String, String>();
                if (requestProperties != null && requestProperties.length() > 0)
                {
                        JSONObject requestPropertiesJSON = new JSONObject(requestProperties);
                        Iterator<String> jsonKeys = requestPropertiesJSON.keys();
                        while (jsonKeys.hasNext())
                        {
                                String key = jsonKeys.next();
                                requestPropertiesMap.put(key, requestPropertiesJSON.getString(key));
                        }
                }
                //create a Map to hold response properties
                java.util.Map<String, String> responsePropertiesMap = new HashMap<String, String>();       
                if (resourceName.equalsIgnoreCase("") || resourceName.length() == 0)
                {                                                       
                        if (operationName!=null)
                        {
                                response= new JSONObject();
                                MapWMSServer mapWMSServer=new MapWMSServer();
                                operationOutput =mapWMSServer.doPost(operationInputAsJSON,operationName, response, mapServer);
                        }
                       
                        else
                        {
                                operationOutput = sendError(0, "Operation " + "\"" + operationName + "\" not supported on resource " + resourceName + ".",
                                                new String[]{"No other details", " specified"}).getBytes();                                       
                        }                               
                }
                else //if non existent sub-resource specified, report error
                {
                        operationOutput = sendError(0, "No sub-resource by name \"" + resourceName + "\" found.", new String[]{""}).getBytes("utf-8");       
                }
       
               
                if(response!=null){
                        /*responseProperties = new String[response.length()];
                        Iterator it=response.keys();
                        int i=0;
                        while(it.hasNext()){
                                String key = (String)it.next();
                                String value =  response.getString(key);
                                //responseProperties[i]="\""+ key+"\":\""+value+"\"";
                                responseProperties[i] = key + "=" + value;
                                i++;
                        }*/
                        /*if(!response.isNull("Content-Type")&& response.getString("Content-Type")!=null)
                          responseProperties[0]="\"Content-Type\":\""+response.getString("Content-Type")+"\"";*/
                        //responseProperties= new String[]{response.toString()};
                }
                JSONObject resp=new JSONObject();
                resp.put("Content-Type", "image/png");
                responseProperties = new String[]{resp.toString()};
                String ss=responseProperties[0];
                serverLog.addMessage(1, 800, ss);
                //convert response properties to String array
                /*if (!responsePropertiesMap.isEmpty())
                {
                        Set<String> keys = responsePropertiesMap.keySet();
                        Iterator<String> keysIterator = keys.iterator();
                        int i = 0;
                        while (keysIterator.hasNext())
                        {
                                String key = keysIterator.next();
                                String value = responsePropertiesMap.get(key);
                                responseProperties[i] = key + "=" + value;
                                i++;
                        }
                }*/
               
                return operationOutput;       
        }

Viewing all 1297 articles
Browse latest View live