|
POST
|
We ran into this problem this morning, and found our issue and subsequent fix. Details below, and links to other threads that may be helpful on this issue... not to say this will fix all of your problems, but we had the same symptoms described... The Problem: Both Publishers and administrators could not register new folders with the server. This has worked in the past. The service account (domain) has been granted read permissions to the locations trying to register. Basic steps attempted: Through ArcCatalog: Launch ArcMap add data residing on a UNC path File->Share As Service Existing Connection Analyze Document (Get warning that data will be copied to server) Right click warning and register data store Through ArcGIS Manager: Open web-browser. Navigate to: https://hostname.domain:6443/arcgis/manager Login with AD credentials Navigate to 'Site' -> 'Data Store' Click 'Register Folder' Provide generic name Paste in full UNC path to location Click Create Both attempts would return the message "Invalid folder location. Unable to access this location." We would try to 'Validate All' registered folders and databases from the arcgis Manager console. This would take a few minutes and upon completion it would return a red exclamation mark indicating that it was not valid. We launched the arcgis/admin API and went to 'data->validateAllDataItems'. Executing that threw an error that one of our machines was unreachable. Looking into the machine, we could NOT RDP to it. It seemd to hang on a restart from a windows backup. The Fix: We could manually update the arcgis-dataspace.xml file as indicated by erwan.caradec. For better or worse... This allowed our users to continue to publish data that resided in that location. We re-booted the hung server, and all went back to working normal. We could validate the registered objects. we could also delete the registration and re-register existing folders/databases. so bottom line... it appears that the ArcGIS Server 'site' did not recognize that one of the servers were hung (not responsive). It appears that that 1 hung server in our multi-machine deployment prevented any user from registering data stores. Background: We have a multi-machine environment. 2 Microsoft NLB web-adaptors. 4 ArcGIS Server machines participating in 2 clusters (2 nodes in each cluster). All running Windows 2008 R2 and ArcGIS Server 10.1 SP1 user store: Windows Domain role store: Built-in Authentication: ArcGIS Server, token based Here were other links/threads that were helpful or related to this: Can't Register UNC Directory database will not register by folder Serving Mosaic Dataset (Image extension) from NFS mounted directory HTH
... View more
12-02-2013
01:04 PM
|
0
|
0
|
2110
|
|
POST
|
The versioning model doesn't support access resolution beyond {NO_ACCESS, READ_ONLY, READ_WRITE}. This is a design feature. You could not circumvent it with 'sdetable -o grant' previously either (if all the required permissions weren't present for all tables, then the entire feature class [or feature dataset] had the next lowest access, if any). At 10.2, if you have simple feature classes (non-versioned tables, not registered with the geodatabase), you can use Catalog to right-click Manage... Privileges..., and it will offer the traditional four checkboxes (SELECT, INSERT, UPDATE, DELETE) by user. So it seems as if your request is either impossible or already available. Do you have access to 10.2 to see if this meets your requirements? - V Hi Vince, We have a lot of backend processing and scripts which update data. Much of the data is not registered as versioned, but is registered with the GDB. So we frequently grant just 'update' to many accounts to necessary feature classes or tables. I have seen those check boxes you refer to but have not tried them yet. Unfortunatly though those would not be script-able with python so thier use is limited for ad hoc purposes that are hard to track and baseline changes. That was new news to me though regarding the 'design feature' with versioned datasets. It seams many of the traditional database capabilities are truly limited when using SDE versioning and I try to stay away from it as much as possible. Something as simple as a unique constraint on a primary key field is a prime example... Appreciate the feedback! Thanks! Regards, Patrick
... View more
11-05-2013
11:14 AM
|
0
|
0
|
3073
|
|
POST
|
With the release of 10.2 and plans to deprecate the ArcSDE command line tools, you may be wondering how current tasks that use these tools can be completed elsewhere. This blog provides some workflows that have alternate user interface tools in ArcCatalog/ArcMap that will make transitioning as seamless as possible. http://blogs.esri.com/esri/supportcenter/2013/10/04/do-this-not-that-alternatives-to-using-sde-command-line-tools We are very interested in hearing feedback from everyone who uses the ArcSDE commands, including questions, concerns, and ideas for making this successful. You can also contact Esri Support Services for specific ArcSDE commands that do not have comparable replacements. This document outlines the planned changes in platform and functionality in the ArcGIS 10.2 release and includes a reference to ArcGIS 10.1 deprecation notes. http://downloads2.esri.com/support/TechArticles/W26496_W25918_DEPRECATION_PLAN_FOR_ARCGIS_101_and_102_FINAL_050713.pdf The only limitation I have run into so far: Fine grained DBMS permissions at the table/layer level. In arcsde you could grant or revoke 'edit' permissions with either insert, update, or delete: sdetable -o {grant | revoke} -t <table> -U <user> -A <SELECT,UPDATE,INSERT,DELETE> [-s <server_name>] [-i {<service> | <port#> | <direct connection>}] [-D <database_name>] -u <DB_user_name> [-p <DB_user_password>] [-I] [-q] The closest python script tool available appears to be the Change Privileges tool which only allows grant/revoke at the 'edit' or 'select' level: The RDBMS equivalent commands for the Edit parameter are Update, Insert, and Delete. All three are granted or revoked simultaneously by the Edit parameter. I run into this frequently as often times we would only like to 'update' features and restrict the 'insert' or 'delete' capabilities.
... View more
11-05-2013
10:10 AM
|
1
|
0
|
3073
|
|
POST
|
Ok... Ok... I created a better sample that you should be able to run (without all my custom classes, error checking, validation, etc). This runs on my environment with just the base python installation for ArcGIS 10, 10.1 or 10.2.
import httplib
import urllib
import json
from urlparse import urlparse
from datetime import datetime
def parseUrl(url):
result=dict()
up=urlparse(url)
host=up.netloc
#assume port 80 at first
port=80
#result["host"]=host
result["path"]=up.path
result["https"]=False
if (up.scheme.upper()=='HTTPS'):
result["https"]=True
#switch to port 443 if HTTPS by default
port=443
#accept non-default port if provided...
if (up.netloc.find(":") != -1):
port=int(host[host.find(":")+1:])
host=host[0:host.find(":")]
result["host"]=host
result["port"]=port
return result
ags_fs_url=r'http://sampleserver6.arcgisonline.com/arcgis/rest/services/Wildfire/FeatureServer/0'
urlp=parseUrl(ags_fs_url)
headers={"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"}
print "\n\n****QUERYING SERVICE***"
conn=httplib.HTTPConnection(urlp['host'],urlp['port'])
params=dict()
params['f']='json'
params['where']="rotation=42"
params['outFields']="objectid,description,rotation"
params['returnGeometry']=False
conn.request("POST",urlp['path']+"/query",urllib.urlencode(params),headers)
resp=conn.getresponse()
data=resp.read()
jdata=json.loads(data)
print "Response JSON: \n%s"%str(jdata)
#Try to add the date to the description
print "\n\n****TRYING TO ADD THE DATE WITH UNICODE CHARACTERS***"
feature=jdata["features"][0]
dt=datetime.strftime(datetime.now(),"%Y%m%d_%H:%M:%S")
old_desc=feature['attributes']['description']
new_desc="Go Broncos! @ %s"%dt
print "Setting description from '%s' to '%s'"%(old_desc,new_desc)
feature['attributes']['description']=new_desc
conn=httplib.HTTPConnection(urlp['host'],urlp['port'])
params=dict()
params['f']='json'
params['updates']=[feature]
conn.request("POST",urlp['path']+"/applyEdits",urllib.urlencode(params),headers)
resp=conn.getresponse()
data=resp.read()
jdata=json.loads(data)
print "Request Parameters: \n%s"%str(params)
print "Response JSON: \n%s"%str(jdata)
#Lets try without unicode...
print "\n\n****TRYING TO ADD THE DATE WITHOUT UNICODE CHARACTERS***"
new_feature=dict()
for k in feature.keys():
new_feature[str(k)]=dict()
for k in feature['attributes'].keys():
if type(feature['attributes'] ) == unicode:
new_feature['attributes'][str(k)]=str(feature['attributes'] )
else:
new_feature['attributes'][str(k)]=feature['attributes']
conn=httplib.HTTPConnection(urlp['host'],urlp['port'])
params=dict()
params['f']='json'
params['updates']=[new_feature]
conn.request("POST",urlp['path']+"/applyEdits",urllib.urlencode(params),headers)
resp=conn.getresponse()
data=resp.read()
jdata=json.loads(data)
print "Request Parameters: \n%s"%str(params)
print "Response JSON: \n%s"%str(jdata)
And the output: ****QUERYING SERVICE*** Response JSON: {u'fields': [{u'alias': u'OBJECTID', u'type': u'esriFieldTypeOID', u'name': u'objectid'}, {u'alias': u'Rotation', u'type': u'esriFieldTypeSmallInteger', u'name': u'rotation'}, {u'alias': u'Description', u'length': 75, u'type': u'esriFieldTypeString', u'name': u'description'}], u'globalIdFieldName': u'', u'objectIdFieldName': u'objectid', u'features': [{u'attributes': {u'rotation': 42, u'description': u'Go Broncos! @ 20131105_12:33:55', u'objectid': 1609}}]} ****TRYING TO ADD THE DATE WITH UNICODE CHARACTERS*** Setting description from 'Go Broncos! @ 20131105_12:33:55' to 'Go Broncos! @ 20131105_12:38:14' Request Parameters: {'updates': [{u'attributes': {u'rotation': 42, u'description': 'Go Broncos! @ 20131105_12:38:14', u'objectid': 1609}}], 'f': 'json'} Response JSON: {u'error': {u'message': u'Unable to complete operation.', u'code': 400, u'details': []}} ****TRYING TO ADD THE DATE WITHOUT UNICODE CHARACTERS*** Request Parameters: {'updates': [{'attributes': {'rotation': 42, 'description': 'Go Broncos! @ 20131105_12:38:14', 'objectid': 1609}}], 'f': 'json'} Response JSON: {u'addResults': [], u'deleteResults': [], u'updateResults': [{u'success': True, u'objectId': 1609}]} BTW... GO Broncos!! 🙂
... View more
11-05-2013
09:40 AM
|
0
|
0
|
3064
|
|
POST
|
Hi Rossco, I've attached a snippet of the UML class diagram of my implementation for reference, and a little snippet of code that might help you (although you will not be able to run this since you do not have all the underlying classes...). Hopefully just seeing the parameters on the request will help. Most of the times that I run into a problem it is because there is a unicode string somewhere in the json structure... and I have not yet figured out a way to get a POST to work when there is a unicode in there, thats why I built a few of my own objects (AgsFeature, AgsFeatures, AgsGeometry, ...) to remove those unicode characters... This runs against a sample server that Esri has available for editing capabilities... I created a new record with a 'rotation' equal to 42 (since 42 is the answer to life)
from datetime import datetime
from ArcServer.ArcGisServer import AgsLayer
from ArcServer.ArcGisServer import AgsFeatureServiceLayer
from ArcServer.ArcGisServer import AgsFeature
from ArcServer.ArcGisServer import AgsSpatialReference
#Build a layer object to query
print "\n\n****QUERYING SERVICE***"
ags_fs_url=r'http://sampleserver6.arcgisonline.com/arcgis/rest/services/Wildfire/FeatureServer/0'
lyrObj=AgsLayer.fromUrl(ags_fs_url)
#Find the record for NFL Broncos...
where="rotation=42"
result=lyrObj.query(where,"*",geometry=True)
print "Query Result: %s"%str(result)
print "Response JSON: \n%s"%str(lyrObj.json())
#Try to add the date to the description
print "\n\n****TRYING TO ADD THE DATE WITH UNICODE CHARACTERS***"
jdata=lyrObj.json()
feature=jdata["features"][0]
dt=datetime.strftime(datetime.now(),"%Y%m%d_%H:%M:%S")
old_desc=feature['attributes']['description']
new_desc="Go Broncos! @ %s"%dt
print "Setting description from '%s' to '%s'"%(old_desc,new_desc)
feature['attributes']['description']=new_desc
fslyrObj=AgsFeatureServiceLayer.fromUrl(ags_fs_url)
fslyrObj.params=dict()
fslyrObj.params['updates']=[feature]
fslyrObj.params['f']='json'
pth="/applyEdits"
print "Executing 'applyEdits' via POST..."
print "Host: %s"%str(fslyrObj.host)
print "Path: %s"%str(fslyrObj.path+pth)
print "Method: %s"%str(fslyrObj.method)
print "port: %s"%str(fslyrObj.port)
print "https: %s"%str(fslyrObj.https)
print "headers: %s"%str(fslyrObj.headers)
print "params: %s"%str(fslyrObj.params)
result=fslyrObj.execute(pth)
print "Query Result: %s"%str(result)
print "Query Messages: %s"%str(fslyrObj.messages())
print "Query Data: %s"%str(fslyrObj.data())
#Lets try without unicode...
print "\n\n****TRYING TO ADD THE DATE WITHOUT UNICODE CHARACTERS***"
srObj=AgsSpatialReference.fromFeatureSetSr(jdata['spatialReference'])
featureObj=AgsFeature.fromFsFeature(feature,jdata['spatialReference'])
del fslyrObj
fslyrObj=AgsFeatureServiceLayer.fromUrl(ags_fs_url)
fslyrObj.params=dict()
fslyrObj.params['updates']=featureObj.json()
fslyrObj.params['f']='json'
pth="/applyEdits"
print "Executing 'applyEdits' via POST..."
print "Host: %s"%str(fslyrObj.host)
print "Path: %s"%str(fslyrObj.path+pth)
print "Method: %s"%str(fslyrObj.method)
print "port: %s"%str(fslyrObj.port)
print "https: %s"%str(fslyrObj.https)
print "headers: %s"%str(fslyrObj.headers)
print "params: %s"%str(fslyrObj.params)
result=fslyrObj.execute(pth)
print "Query Result: %s"%str(result)
print "Query Messages: %s"%str(fslyrObj.messages())
print "Query Data: %s"%str(fslyrObj.data())
And... Output: ****QUERYING SERVICE*** Query Result: True Response JSON: {u'features': [{u'geometry': {u'y': 4828807.519031979, u'x': -11690778.563894253}, u'attributes': {u'description': u'Go Broncos! @ 20131105_08:52:52', u'objectid': 1609, u'eventtype': 12, u'created_user': u'', u'created_date': 1383664073000L, u'rotation': 42, u'last_edited_date': 1383666772000L, u'eventdate': 0, u'last_edited_user': u''}}], u'fields': [{u'alias': u'OBJECTID', u'type': u'esriFieldTypeOID', u'name': u'objectid'}, {u'alias': u'Rotation', u'type': u'esriFieldTypeSmallInteger', u'name': u'rotation'}, {u'alias': u'Description', u'length': 75, u'type': u'esriFieldTypeString', u'name': u'description'}, {u'alias': u'Date', u'length': 36, u'type': u'esriFieldTypeDate', u'name': u'eventdate'}, {u'alias': u'Type', u'type': u'esriFieldTypeInteger', u'name': u'eventtype'}, {u'alias': u'created_user', u'length': 255, u'type': u'esriFieldTypeString', u'name': u'created_user'}, {u'alias': u'created_date', u'length': 36, u'type': u'esriFieldTypeDate', u'name': u'created_date'}, {u'alias': u'last_edited_user', u'length': 255, u'type': u'esriFieldTypeString', u'name': u'last_edited_user'}, {u'alias': u'last_edited_date', u'length': 36, u'type': u'esriFieldTypeDate', u'name': u'last_edited_date'}], u'spatialReference': {u'wkid': 102100, u'latestWkid': 3857}, u'geometryType': u'esriGeometryPoint', u'objectIdFieldName': u'objectid', u'globalIdFieldName': u''} ****TRYING TO ADD THE DATE WITH UNICODE CHARACTERS*** Setting description from 'Go Broncos! @ 20131105_08:52:52' to 'Go Broncos! @ 20131105_09:01:36' Executing 'applyEdits' via POST... Host: sampleserver6.arcgisonline.com Path: /arcgis/rest/services/Wildfire/FeatureServer/0/applyEdits Method: POST port: 80 https: False headers: {'Content-type': 'application/x-www-form-urlencoded', 'Accept': 'text/plain'} params: {'updates': [{u'geometry': {u'y': 4828807.519031979, u'x': -11690778.563894253}, u'attributes': {u'description': 'Go Broncos! @ 20131105_09:01:36', u'objectid': 1609, u'eventtype': 12, u'created_user': u'', u'created_date': 1383664073000L, u'rotation': 42, u'last_edited_date': 1383666772000L, u'eventdate': 0, u'last_edited_user': u''}}], 'f': 'json'} Query Result: False Query Messages: ['Response indicated there was an error, please check the obj.data()...'] Query Data: {"error":{"code":400,"message":"Unable to complete operation.","details":[]}} ****TRYING TO ADD THE DATE WITHOUT UNICODE CHARACTERS*** Executing 'applyEdits' via POST... Host: sampleserver6.arcgisonline.com Path: /arcgis/rest/services/Wildfire/FeatureServer/0/applyEdits Method: POST port: 80 https: False headers: {'Content-type': 'application/x-www-form-urlencoded', 'Accept': 'text/plain'} params: {'updates': [{'geometry': {'y': '4828807.51903', 'x': '-11690778.5639', 'spatialReference': {'wkid': 102100, 'latestWkid': 3857}}, 'attributes': {'DESCRIPTION': 'Go Broncos! @ 20131105_09:01:36', 'OBJECTID': 1609, 'EVENTTYPE': 12, 'CREATED_USER': '', 'CREATED_DATE': 1383664073000L, 'ROTATION': 42, 'LAST_EDITED_DATE': 1383666772000L, 'EVENTDATE': 0, 'LAST_EDITED_USER': ''}}], 'f': 'json'} Query Result: True Query Messages: [] Query Data: {"addResults":[],"updateResults":[{"objectId":1609,"success":true}],"deleteResults":[]} If you post your parameters on your HTTP Post (and the description of the service) it might help... Best of luck!
... View more
11-05-2013
06:10 AM
|
0
|
0
|
3064
|
|
POST
|
Hello, A patch is now available from Esri for this issue when using ArcGIS Server version 10.1 SP1: http://support.esri.com/en/downloads/patches-servicepacks/view/productid/66/metaid/2054 This issue does not occur when using 10.2 Final with the latest versions of Google Chrome. Thanks Derek Fantastic news Derek. We follow a monthly patch cycle for our GIS software. We will get this rolled in. Appreciate the feedback!
... View more
11-01-2013
06:35 AM
|
0
|
0
|
1435
|
|
POST
|
We have the same issue(s) here. We are running a distributed environment (2 LB web-adapters, 4 GIS servers) at v10.1 in a Windows 2008 R2 environment. Up until a few weeks ago we had chrome (i think) version 22. the entire enterprise just updated to Chrome v29.0.1547.57 and now logging into the arcgis/manager just hangs... Would appreciate a fix as most if not all our publishers/admins are used to using chrome since it seemed to work better. In the meantime we will have users use IE8 😞
... View more
10-25-2013
06:06 AM
|
0
|
0
|
1435
|
|
POST
|
OK... I've got it figured out. Had to re-start it harder! 🙂 I only stopped the machine from the arcgis manager console, that did not seem to work. I physically logged into the windows server, and re-started the 'ArcGIS Server' windows NT service on each machine. Now it is correctly sending my 'view in: arcgis.com' link to our on-premise deployment of the portal solution. I'm running in a windows 2008 R2 environment. Best of luck!
... View more
10-23-2013
02:11 PM
|
0
|
0
|
439
|
|
POST
|
I've been trying to configure our rest-config to utilize an internal JavaScript API setup on a 10.2 server instance using the Web Adaptor for Tomcat with no luck. I've changed the rest-config.properties file for the internal Tomcat instance for jsapi.arcgis and jsapi.arcgis.css, restarted the Tomcat service, and I'm still not having any luck viewing services in JS viewer. I've also tried to change the ArcGIS.com URL to an internal portal instance with no success. The REST services directory continues to display "ArcGIS.com Map". If I pull those URLs into a browser they come up with no issues. Is there a trick to getting this to work properly at 10.2? ... ... I have the same issue. I am running Esri ArcGIS Server 10.1 with 2 web-adaptors and 4 gis servers. I updated the rest-config.properties file for each server, re-started (stopped, started) the machines from the https://host/arcgis/manager console and it is still sending the 'view in: arcgis.com map' to http://arcgis.com we have deployed on on-premise portal solution and want to change that URL to our internal DNS alias. Thanks for any advise/feedback...
... View more
10-23-2013
01:36 PM
|
0
|
0
|
439
|
|
POST
|
Tim: You wriote "I'm trying the 'Run with highest privledges' option selected which seems to have a positive impact (combined with run if user is logged in or not). It's allowed me to run my scripts, but it may only be possible because my service running account is in the local admin group." Is there an issue with the service running account being in the local admin group? I have had my server that runs scheduled tasks set up this way for years without incident. This completely solved our problem. The key was 'Run with the highest privileges' setting. The headless service account is not part of our local Administrators group. See picture below. We are running ArcGIS Desktop 10.1 SP1 advanced (with concurrent licenses setup on a remote license server) The arcgisscripting.create() option is not viable as we are using some of the 10.0 and 10.1 capabilities (like the da module and other script tools) Appreciate the post on this. It saved us a lot of time!
... View more
09-23-2013
01:53 PM
|
0
|
0
|
809
|
|
POST
|
You should be able to 'truncate' (delete the rows) and append even if ArcGIS Server has it published as jgustine mentioned. I have created a few python tools that will update a feature service using the POST method by interacting with the ArcGIS Server REST API. We used the The python script uses the httplib and creates either an HTTPSConnection or HTTPConnection object (depending if it is HTTP or HTTPS access). My code essentially does something like this: Inspect the URL. Determine if HTTP or HTTPS to build the correct connection object Inspect the security configuration. If token based (isTokenBasedSecurity = True)obtain a token by prompting for username/password. If IWA then attempt the following and assume the user running the tool has access Convert the records from the Feature Class to a JSON object using the arcpy.FeatureSet tool and accessing the JSON property. Obtain all of the primary keys in the feature set object (iterating through the JSON object). Query the feature service to determine if these are adds or updates if its not in the feature service create a feature object for the 'adds' parameter for each record not found in the service. If it is in the feature service create a feature object for the 'updates' parameter for each record found in the service. Execute an HTTP post method to the applyEdits operation with the adds and updates specified as parameters Inspect the result, store it as an IN_MEMORY table and return it to the user It actually performs very fast. Here were a few things/problems that I ran into while developing these tools: The arcpy.FeatureSet.JSON property would return strings in unicode. The HTTP Post did not like that. Had to convert all string types to str before creating the Feature Object Had some issues with arcpy.FeatureSet missing/truncating the geometries as posted here If token based authentication then we needed to prompt the user for credentials. We used the getpass library in a sub-process as discussed here There is a max size limit imposed on the POST method. I think it is something like 2MB. Cannot seem to find information about it off the top of my head but you might run in this if there is a lot of changes/updates. Might need to split the job into small chunks. Process like 10% at a time and run the POST 10 times... So a basic workflow would look like this: Usesr use ArcMap to extract some data from a Feature Service to a local Feature Class Update records desired Insert new records as desired Run a python script tool to sync the features to the feature service using the applyEdits operation (POST) Hope this helps. I might be able to show you a few code samples if you really wanted them but I've got all the logic rolled up into a robust set of classes to interact with ArcGIS Server.
... View more
08-27-2013
01:56 PM
|
0
|
0
|
3064
|
|
POST
|
Disabling the service directory seems to only block access with the HTML return type. Any savey GIS user who knows to access the root with f=json (or f=pjson) can still index the entire site including all folders and services. Same with any web-crawlers/spiders that automatically index the site. I guess my interpretion of this would have been like disabling directory browsing with web-servers, but this only disables HTML browsing. Is this the intent? And if so how useful is that? Our goal: Publish a service but do not make it browsable. Once someone 'higher up' reviews the service and approves it then make the service accessible in our simple interactive Javascript/HTML based web-application. If the user uses a fiddler tool (or browser debugging tools) to reverse engineer the links we dont really care once it had been approved. Using the 'disable the service directory' option above does not really meet these requirements because I'm sure spiders/bots/crawlers could still index it and savey GIS users could still list all contents with the f=pjson and/or f=json return format types. Only way I see us meeting the goal above is to either: Enable security. Grant specific roles access and add the 'reviewers' to the roles. Disable the security once the service is 'approved' Build a second arcgis site on our internal network with no security enabled (not worried about internal staff accessing the services). Allow reviewers to review the content an once its approved 'push' it out to external/mirror site. Use a Web-Application Firewall (WAF) type device to restrict the non-approved content. All 3 options above have somewhat significant downsides (either managing users/roles and enabling HTTPS, building a completly seperate environment, or managing rules on the network WAF). It would seem that something which truly disabled browsing access to the services (either over HTML or JSON return types) would meet these needs and the risk of someone 'stumbling' onto a link would be quite low. Any advise/Feedback? Thanks!
... View more
08-27-2013
12:17 PM
|
1
|
2
|
945
|
|
POST
|
HTTPS is always required with Portal, whether you use LDAP/ActiveDirectory or not. Portal automatically comes with https enabled and no way to disable it. Many pages in Portal must be read over https (such as the 'My Organization' page) and links will break if you somehow disable https after the fact. To prevent problems the web adaptor can not even be configured until https has been enabled in the web server as well. The thing that differs with ActiveDirectory/LDAP and web tier authentication is that HTTP (unencrypted communications) must be disabled and all communications must go through https. If you were using built in users you could have HTTP enabled. --- David Hi David, What we are really after is using the portal like Esri had configured on arcgis.com but use active directory for the identity store. On arcgis.com (and organization solutions) it is a built in identity provider, users login through an https channel, but the token that is generated is passed along over http (there are some risks to this such as token hijacking but those would be acceptable on our secured intranet), so that users can access http services without prompting for displaying insecure content. And yes there are some pages that require https but most users are only registering web services and adding those to the maps over non https methods. We have tinkered over the past few days. We have successfully configured the java based web adaptor with tomcat 7 on a win 2008 server. Access to the portal with http and https configured. Identity store is ldap tied to Microsoft active directory. Users are prompted for their AD credentials on login and using the single sign on feature allows them to seamlessly pass the session id when switching to https sites such as the accessing 'my organization'. Problem is that it is using http BASIC authentication over a non ssl pipe so user account credentials are passed as base 64 encoded clear text. A fiddler type tool and three lines of python code can decode the credentials... We have tried the http digest with no luck yet (not sure it's possible since I think it hashes the credentials before it gets to AD and AD can not unhash). Thanks for the response.. We have switched to IWA for now since it was just simpler and we could not get tomcat/http/digest going, but users are prompted when insecure content is added (which is 99.9% of our internal services). IE does a fair job at letting the users know (so that they can accept the risk and access the insecure services) but chrome displayes a shield icon very suttly and users generally cannot figure out the work around without contacting the help desk. I will post back if I have any further successes to report. Thanks!
... View more
08-15-2013
05:37 PM
|
0
|
0
|
542
|
|
POST
|
Hi Kevin, Thanks for the feedback. My original script was written to use a custom output location on a file share outside if arcserver. I made sure the service account had modify permissions to that share and folder permissions. I switched it to the scratch workspace for simplicity when posting here. I found out that we are still running the pre-release version on that box and have not yet deployed the final. I will try to republish this once we get the final 10.2 version installed. And report back when the results. Maybe it was/is just an issue with the pre release version. It might be a few weeks before we get the general release version installed in a sandbox/test mode. Thanks!
... View more
08-15-2013
06:33 AM
|
0
|
0
|
1436
|
|
POST
|
We have installed the Portal for ArcGIS on a Windows Server 2008 R2 SP1 64-bit virtual machine. This is our second installation. The first worked just fine. This installation succeeded but the SoftwareAuthorization.exe file fails to execute. We receive the following error in the event viewer: Log Name: Application Source: SideBySide Date: 8/13/2013 8:04:26 AM Event ID: 33 Task Category: None Level: Error Keywords: Classic User: N/A Computer: <HOSTNAME>.<DOMAIN> Description: Activation context generation failed for "C:\Program Files\Common Files\ArcGIS\bin\SoftwareAuthorization.exe". Dependent Assembly Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" could not be found. Please use sxstrace.exe for detailed diagnosis. Event Xml: <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> <System> <Provider Name="SideBySide" /> <EventID Qualifiers="49409">33</EventID> <Level>2</Level> <Task>0</Task> <Keywords>0x80000000000000</Keywords> <TimeCreated SystemTime="2013-08-13T14:04:26.000000000Z" /> <EventRecordID>1639</EventRecordID> <Channel>Application</Channel> <Computer><HOSTNAME>.<DOMAIN></Computer> <Security /> </System> <EventData> <Data>Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"</Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data>C:\Program Files\Common Files\ArcGIS\bin\SoftwareAuthorization.exe</Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data> </Data> <Data> </Data> </EventData> </Event> Couple web-searches seem to indicate there is an issue with the Microsoft c++ redistributable package SideBySide errors are typically caused by the current Microsoft Visual C++ version not being backward compatible with the application that failed. The Event ID 33 error message is typically: Activation context generation failed for �??program name�?�..Please use sxstrace.exe for detailed diagnosis. There are other similar SideBySide errors with the same problem of backward compatibility. If the software works OK then you don't have to fix it but if it does not or you want to get rid of this error here are two Fixes: 1) Reinstall or Repair (preferred if an option) the application. Often the installation package will have the version of Microsoft Visual C++ that it uses and will install it. 2) Try to figure out what Microsoft Visual C++ Redistributable Package version (available versions are: 2003, 2005, 2008, & 2010) the application needs (most likely the one that came out prior to the date that the application software was created; check the dates of the files in the package). . These are available through Microsoft's Downloads. Worse comes to worse you can just try installing a previous version to see if it works, if not then try the one before that. Though I don't like it, you can have multiple versions of Microsoft on your computer and most people do because various install programs will install the one that they like. and Error message: "Side-by-side configuration is incorrect" The machine is missing the correct C++ runtime components for your type of system. (x86 or x64). Installing the following update resolved the issue. Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) http://www.microsoft.com/downloads/en/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en Microsoft Visual C++ 2008 SP1 Redistributable Package for (x64) http://www.microsoft.com/downloads/en/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en Microsoft Visual C++ 2010 Redistributable Package (x86) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84 Microsoft Visual C++ 2010 Redistributable Package (x64) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=bd512d9e-43c8-4655-81bf-9350143d5867 Thanks, We tried installing the Visual C++ 2005 Redistributable Package (x64) with no success. Also tried the 2010 version with no avail... Our first portal had ArcGIS Desktop 10.2 installed. We started the 10.2 desktop install on this portal solution and once we installed the .Net 3.5 SP1 to prepare the desktop install the authorization executable succeeded. Figured I would post our experience in case someone else had the same issue... If I get a chance I will have our Esri rep submit an incident, but this got us past the issue...
... View more
08-13-2013
06:29 AM
|
0
|
0
|
4285
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 02-18-2016 03:07 PM | |
| 1 | 07-09-2012 09:32 AM | |
| 1 | 06-30-2016 12:12 PM | |
| 1 | 03-24-2015 09:33 AM | |
| 1 | 03-25-2015 08:29 AM |
| Online Status |
Offline
|
| Date Last Visited |
11-11-2020
02:23 AM
|