Mais

Como acessar um serviço Feature hospedado em arcgis.com que é compartilhado apenas com determinados grupos ou organizações


Em meu aplicativo C #, estou tentando acessar um serviço Feature que está hospedado em arcgis.com. O serviço de recurso é compartilhado apenas com um grupo ou organização e NÃO é público. Como posso acessar este serviço no meu código de cliente. Aqui está o meu código de cliente que lança uma exceção dizendo que o token de autenticação necessário. Tenho o token, mas não sei como usá-lo para ser autenticado para usar o serviço. Este mesmo código funciona bem para serviços compartilhados como PÚBLICO.

IPropertySet sipPS = new PropertySet (); sipPS.SetProperty ("DATABASE", layerUrl); IWorkspaceFactory sipWSF = (IWorkspaceFactory) new ESRI.ArcGIS.Carto.FeatureServiceWorkspaceFactory (); IWorkspace sipWS = sipWSF.Open (sipPS, 0); IFeatureWorkspace sipFWS = (IFeatureWorkspace) sipWS; IGroupLayer grpLayer = new GroupLayerClass (); grpLayer.Name = Constants.ArcGISOnlineGroupLayerName; IFeatureClass sipFC = sipFWS.OpenFeatureClass ("0"); IFeatureLayer fl = new FeatureLayerClass (); fl.Name = featureLayerName; fl.FeatureClass = sipFC; grpLayer.Add (fl como ILayer);

Seu layerUrl é semelhante em: http://services1.arcgis.com/cFi1BRRsYB2fYqCl/arcgis/rest/services/NameService/FeatureServer

Basta adicionar o token para Url: http://services1.arcgis.com/cFi1BRRsYB2fYqCl/arcgis/rest/services/NameService/FeatureServer?token=gGIYjUwXvaO75l1X7LHsgOo2Yueoh1jTGRvrKm7K9ZBE-0TY-EA_Ml7vJtllQK9P2nngX5ciedKgHkjLOEgRSKYR8QhDJMDpWQ09PhTWubNACuFsNIQ3fdlbS6tsPO0h


Por favor, consulte o link abaixo, parece que você tem algum problema de proxy. Para acessar um serviço seguro você precisa ter nome de usuário e senha e apenas escrever um código onde o token é gerado em tempo de execução e você só precisa anexá-lo corretamente

http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html#//0048000000sv000000


Este exemplo de postagem do fórum GeoNet é baseado em javascript, mas essencialmente realiza o que você deseja que aconteça.

No entanto, para o caso da API 'ArcObjects for .Net' do ESRI (que podemos dizer que você está usando com base nos namespaces), você deve implementar o método IArcGISSingleSignon.GetToken. O método deste objeto conectará um usuário ao ArcGIS Online (AGOL) e retornará um token. A fábrica de espaço de trabalho e as definições de objeto de classe de recursos não requerem o token, mas o signon deve ocorrer antes de acessar os serviços de recursos AGOL protegidos.

Por último, apenas como um ponto de API, IWorkspaceFactory está obsoleto e IWorkspaceFactory2 agora é o objeto de interface preferido .-- as assinaturas não mudaram, mas as implementações de backend sim.

Poste para confirmar se seu suplemento C # se conecta corretamente ao AGOL depois de implementar tokens de conexão única usando o método GetToken.


Assista o vídeo: ArcGIS Arcade Webinar (Outubro 2021).