Olá,
Eu estava tentando testar a seguinte consulta descrita nesta documentação - https://developers.arcgis.com/rest/services-reference/enterprise/lr-acquire-locks/.
/MapServer/exts/LRServer/locks/acquire
Os problemas que encontrei são:
Primeiramente, parece que esta consulta é do tipo POST e não GET como indicado no cabeçalho do link.
Em segundo lugar, o parâmetro acquireLocks é indicado como "Opcional", o que na verdade está errado e quando eu o removo retorna a seguinte resposta:
{"error":{"code":400,"message":"parâmetro 'acquireLocks' não especificado.","details":[]}}
Quando eu passo assim:
[{"routeId": "{myRouteUniqueID}", "layerId": 1}]
Recebo a seguinte resposta:
{"error":{"code":400,"message":"parâmetro 'lineId' não especificado.","details":[]}}
Quando passo o seguinte parâmetro acquireLocks:
[{"routeId": "{myRouteUniqueID}", "layerId": 1}, {"lineId": "{myCenterlineUniqueId}", "layerId": 2}]
AINDA recebo a seguinte resposta:
{"error":{"code":400,"message":"parâmetro 'lineId' não especificado.","details":[]}}
Meu objetivo final é carregar pontos de calibração através da consulta applyEdits (https://developers.arcgis.com/rest/services-reference/enterprise/apply-edits/)
Para isso, devo obter bloqueios exclusivos nas rotas onde quero adicionar os pontos de calibração. Minhas dúvidas são - o que devo passar como "routeId", "lineId" e "layerId" e como devo fazer isso? Na documentação está indicado que o JSON deve ser assim:
[ { "routeId": "<routeId>", "layerId": <layerId> } | { "lineId": "<lineId>", "layerId": <layerId> }, ... ]
O que não faz sentido pois o "|" não funciona em JSON. E retorna erro.
Então, coloquei meu routeId como routeId, meu CenterlineID como lineID e layerId com os IDs das camadas publicadas de centerlines e rotas.
Alguém pode mostrar um exemplo funcional do JSON que devo passar como parâmetro acquireLocks na consulta /MapServer/exts/LRServer/locks/acquire que crie bloqueios em múltiplas rotas para permitir carregar posteriormente pontos de calibração para essas rotas?
Obrigado desde já!