<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic SOI not triggering AGS Server method &amp;quot;FeatureServer/uploads&amp;quot; in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/soi-not-triggering-ags-server-method-quot/m-p/669775#M17955</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm implementing an SOI to filter data based on a user/role profile. Everything&amp;nbsp;has been supported&amp;nbsp;and works well except the SynchronizeReplica method which has some dependencies with the uploads function. The ArcGIS for Server&lt;/P&gt;&lt;P&gt;SOI is not catching calls to the feature server uploads method which prevents me from having the ability to filter/sanitize the data being uploaded to the server.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Changes/deltas&amp;nbsp;are passed to the synchronizereplica method in&amp;nbsp;two ways:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1 - Through the "edits" property&lt;/P&gt;&lt;P&gt;2 - By referencing an uploaded replica id&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Collector for ArcGIS uses the 2nd method currently.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following requests are made to AGS Server in sequence:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d; font-size: 11pt;"&gt;POST &lt;/SPAN&gt;&lt;SPAN style="font-size: 11pt;"&gt;&lt;A href="http://2108-jvs2.etgnz.eagle.co.nz/arcgis/rest/services/Editable/FeatureServer/uploads/register?f=json"&gt;&lt;SPAN style="text-decoration: underline;"&gt;http://(somedomain)/arcgis/rest/services/Editable/FeatureServer/uploads/register?f=json&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11pt;"&gt;&lt;SPAN style="color: #1f497d; font-size: 11pt;"&gt;POST &lt;/SPAN&gt;&lt;SPAN style="font-size: 11pt;"&gt;&lt;A href="http://2108-jvs2.etgnz.eagle.co.nz/arcgis/rest/services/Editable/FeatureServer/uploads/i468639e9-41f2-4af8-bb8a-f8004ac2d6c3/uploadPart?token=SsiRSvSPcgwoWOZMQ1MyAa720ro1SiTRWiw4AKX-SprfnyGZEKyu2fRxdQ9py_0f4Ark7aYuh3LWsXBSZ3ZBmx5MkDym-__K3xxMJk-yJdal9Hyycyk-toWbrdb63_N8UJBEZMzgj4cpDqrouxVLBgX_55CKd-uTqZbgC0WkX-uIGRt7zZMDx3-7eePUYeWC&amp;amp;f=json"&gt;&lt;SPAN style="text-decoration: underline;"&gt;http://(somedomain)/arcgis/rest/services/Editable/FeatureServer/uploads/i468639e9-41f2-4af8-bb8a-f8004ac2d6c3/uploadPart?token=SsiRSvSPcgwoWOZMQ1MyAa720ro1SiTRWiw4AKX-SprfnyGZEKyu2fRxdQ9py_0f4Ark7aYuh3LWsXBSZ3ZBmx5MkDym-__K3xxMJk-yJdal9Hyycyk-toWbrdb63_N8UJBEZMzgj4cpDqrouxVLBgX_55CKd-uTqZbgC0WkX-uIGRt7zZMDx3-7eePUYeWC&amp;amp;f=json&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d; font-size: 11pt;"&gt;When all the replica parts have been uploaded to the server, Collector then issues the commit operation&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d; font-size: 11pt;"&gt;POST &lt;/SPAN&gt;&lt;SPAN style="font-size: 11pt;"&gt;&lt;A href="http://2108-jvs2.etgnz.eagle.co.nz/arcgis/rest/services/Editable/FeatureServer/uploads/i468639e9-41f2-4af8-bb8a-f8004ac2d6c3/commit"&gt;&lt;SPAN style="text-decoration: underline;"&gt;http://(somedomain)/arcgis/rest/services/Editable/FeatureServer/uploads/i468639e9-41f2-4af8-bb8a-f8004ac2d6c3/commit&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once the commit has been finalized then Collector issues the SynchronizeReplica call to sync the deltas. This is the only method intercepted/known by the SOI not sure why.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d; font-size: 11pt;"&gt;POST &lt;/SPAN&gt;&lt;SPAN style="font-size: 11pt;"&gt;&lt;A href="http://2108-jvs2.etgnz.eagle.co.nz/arcgis/rest/services/Editable/FeatureServer/synchronizeReplica"&gt;&lt;SPAN style="text-decoration: underline;"&gt;http://(somedomain)/arcgis/rest/services/Editable/FeatureServer/synchronizeReplica&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The&amp;nbsp;SOI handler below does not intercept any of the calls to the feature server upload method&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: Consolas; font-size: small;"&gt;private&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas; font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #2b91af; font-family: Consolas; font-size: small;"&gt;RestHandlerOpCode&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas; font-size: small;"&gt; GetHandlerOpCode(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Consolas; font-size: small;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas; font-size: small;"&gt; resourceName, &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Consolas; font-size: small;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas; font-size: small;"&gt; operationName)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to be able of intercepting the 'uploads',&amp;nbsp;so that&amp;nbsp;I can handle the&amp;nbsp;updates/deletes properly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From my view there are only two options that I can think of:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1 - The SOI registers to listen to the 'uploads' event, which currently does not seem to support&lt;/P&gt;&lt;P&gt;2 - We have a way to connect to the replica using ArcObjects from within the synchronizereplica operation and manipulate the data. I know that I can reach the SQLite database from within this method but considering that the user can choose to use a file geodatabase or another format I don't see this as a suitable workaround.&lt;/P&gt;&lt;P&gt;Maybe there is a way of manipulating the data via ArcObjects? If so, can you share some sample code on how to do this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Jose&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 05 Sep 2016 01:31:04 GMT</pubDate>
    <dc:creator>JoseSousa</dc:creator>
    <dc:date>2016-09-05T01:31:04Z</dc:date>
    <item>
      <title>SOI not triggering AGS Server method "FeatureServer/uploads"</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/soi-not-triggering-ags-server-method-quot/m-p/669775#M17955</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm implementing an SOI to filter data based on a user/role profile. Everything&amp;nbsp;has been supported&amp;nbsp;and works well except the SynchronizeReplica method which has some dependencies with the uploads function. The ArcGIS for Server&lt;/P&gt;&lt;P&gt;SOI is not catching calls to the feature server uploads method which prevents me from having the ability to filter/sanitize the data being uploaded to the server.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Changes/deltas&amp;nbsp;are passed to the synchronizereplica method in&amp;nbsp;two ways:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1 - Through the "edits" property&lt;/P&gt;&lt;P&gt;2 - By referencing an uploaded replica id&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Collector for ArcGIS uses the 2nd method currently.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following requests are made to AGS Server in sequence:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d; font-size: 11pt;"&gt;POST &lt;/SPAN&gt;&lt;SPAN style="font-size: 11pt;"&gt;&lt;A href="http://2108-jvs2.etgnz.eagle.co.nz/arcgis/rest/services/Editable/FeatureServer/uploads/register?f=json"&gt;&lt;SPAN style="text-decoration: underline;"&gt;http://(somedomain)/arcgis/rest/services/Editable/FeatureServer/uploads/register?f=json&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11pt;"&gt;&lt;SPAN style="color: #1f497d; font-size: 11pt;"&gt;POST &lt;/SPAN&gt;&lt;SPAN style="font-size: 11pt;"&gt;&lt;A href="http://2108-jvs2.etgnz.eagle.co.nz/arcgis/rest/services/Editable/FeatureServer/uploads/i468639e9-41f2-4af8-bb8a-f8004ac2d6c3/uploadPart?token=SsiRSvSPcgwoWOZMQ1MyAa720ro1SiTRWiw4AKX-SprfnyGZEKyu2fRxdQ9py_0f4Ark7aYuh3LWsXBSZ3ZBmx5MkDym-__K3xxMJk-yJdal9Hyycyk-toWbrdb63_N8UJBEZMzgj4cpDqrouxVLBgX_55CKd-uTqZbgC0WkX-uIGRt7zZMDx3-7eePUYeWC&amp;amp;f=json"&gt;&lt;SPAN style="text-decoration: underline;"&gt;http://(somedomain)/arcgis/rest/services/Editable/FeatureServer/uploads/i468639e9-41f2-4af8-bb8a-f8004ac2d6c3/uploadPart?token=SsiRSvSPcgwoWOZMQ1MyAa720ro1SiTRWiw4AKX-SprfnyGZEKyu2fRxdQ9py_0f4Ark7aYuh3LWsXBSZ3ZBmx5MkDym-__K3xxMJk-yJdal9Hyycyk-toWbrdb63_N8UJBEZMzgj4cpDqrouxVLBgX_55CKd-uTqZbgC0WkX-uIGRt7zZMDx3-7eePUYeWC&amp;amp;f=json&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d; font-size: 11pt;"&gt;When all the replica parts have been uploaded to the server, Collector then issues the commit operation&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d; font-size: 11pt;"&gt;POST &lt;/SPAN&gt;&lt;SPAN style="font-size: 11pt;"&gt;&lt;A href="http://2108-jvs2.etgnz.eagle.co.nz/arcgis/rest/services/Editable/FeatureServer/uploads/i468639e9-41f2-4af8-bb8a-f8004ac2d6c3/commit"&gt;&lt;SPAN style="text-decoration: underline;"&gt;http://(somedomain)/arcgis/rest/services/Editable/FeatureServer/uploads/i468639e9-41f2-4af8-bb8a-f8004ac2d6c3/commit&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once the commit has been finalized then Collector issues the SynchronizeReplica call to sync the deltas. This is the only method intercepted/known by the SOI not sure why.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d; font-size: 11pt;"&gt;POST &lt;/SPAN&gt;&lt;SPAN style="font-size: 11pt;"&gt;&lt;A href="http://2108-jvs2.etgnz.eagle.co.nz/arcgis/rest/services/Editable/FeatureServer/synchronizeReplica"&gt;&lt;SPAN style="text-decoration: underline;"&gt;http://(somedomain)/arcgis/rest/services/Editable/FeatureServer/synchronizeReplica&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The&amp;nbsp;SOI handler below does not intercept any of the calls to the feature server upload method&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: Consolas; font-size: small;"&gt;private&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas; font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #2b91af; font-family: Consolas; font-size: small;"&gt;RestHandlerOpCode&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas; font-size: small;"&gt; GetHandlerOpCode(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Consolas; font-size: small;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas; font-size: small;"&gt; resourceName, &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Consolas; font-size: small;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas; font-size: small;"&gt; operationName)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to be able of intercepting the 'uploads',&amp;nbsp;so that&amp;nbsp;I can handle the&amp;nbsp;updates/deletes properly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From my view there are only two options that I can think of:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1 - The SOI registers to listen to the 'uploads' event, which currently does not seem to support&lt;/P&gt;&lt;P&gt;2 - We have a way to connect to the replica using ArcObjects from within the synchronizereplica operation and manipulate the data. I know that I can reach the SQLite database from within this method but considering that the user can choose to use a file geodatabase or another format I don't see this as a suitable workaround.&lt;/P&gt;&lt;P&gt;Maybe there is a way of manipulating the data via ArcObjects? If so, can you share some sample code on how to do this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Jose&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Sep 2016 01:31:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/soi-not-triggering-ags-server-method-quot/m-p/669775#M17955</guid>
      <dc:creator>JoseSousa</dc:creator>
      <dc:date>2016-09-05T01:31:04Z</dc:date>
    </item>
  </channel>
</rss>

