Select to view content in your preferred language

Power BI Desktop to ArcGIS Enterprise

667
0
07-17-2023 07:47 PM
SidBose
New Contributor

Hi Team,

  We are struggling with Power BI Desktop to pull a published layer from ArcGIS enterprise, We have already raised a case with support but reaching out to this big community if someone has experienced and resolved it. 

FYI: we had already tried https://support.esri.com/en-us/knowledge-base/bug000133837-the-error-message-invalid-url-is-returned... but it didn't work.

Usecase: We are trying to add a published layer from ArcGIS in our Power BI desktop, they are both on same corporate network (AWS Cloud and EUN resp.)

Issue: We are able to login to arcgis from power bi desktop using service account which was used to publish the layer in arcgis, but when we click the + sign in content to add the layer, it keeps on rotating doing nothing at all, which is super quick when using ArcGIS Pro.

Findings: We did analysis on portal logs and hosted server (arcgis server) logs, it seems authentication issues.

Below are the log comparison between Power BI Desktop and ArcGIS Pro.

ArcGIS Pro:

Portal Logs:

2023-07-13 04:59:38 <Portal Server IP> POST /portal/sharing/oauth2/signin - 443 - <Source Client IP> Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/114.0.0.0+Safari/537.36 https://<internal portal URI>/portal/sharing/rest/oauth2/authorize?client_id=arcgispro&expiration=20... 302 0 0 774

2023-07-13 05:00:34 10.114.14.209 POST /portal/sharing/rest/generateToken - 443 - 10.143.19.195 ArcGIS+Pro+2.9.1+(00000000000)+-+Single+Signon http://www.esri.com/AGO/0AD186F9-1693-47F8-8AB4-8DF3837ADG37 200 0 0 29

2023-07-13 05:00:34 <Portal Server IP> GET /portal/sharing/rest/content/items/5769f3cf1f3b4f3d87467482b0230082/data token=DAadjsynO10EoDlL9d9X22KFeXlT6JxypVkujExORNx_O5jkLNqPADqZX3YuCPP3irDZeiDvQ3pYx2gzFfyo9Gv59DL4g4dHbS2to-5ej7HdkaklacsnHjB2sy3Qv7YakoEMja4YjXa4Sp-LmdKbXyIoG_S1PZcfIYsiAwHndjepIdATfZw58ORMBExhDhfFkrk458eCBm-yu5V74LTWdCZ7eEpv01c_LtVLm3m06Kz3ksNNkdIcV9E46zEtIovXupTWRk& 443 - <Source Client IP> ArcGIS+Pro+2.9.1+(00000000000)+-+http://www.esri.com/AGO/0AD186F9-1693-47F8-8AB4-8DF3837AFD42 http://www.esri.com/AGO/0AD186F9-1693-47F8-8AB4-8DF3837AFD42 200 0 0 191

Server Logs:

<Msg time="2023-07-13T15:00:34,858" type="DEBUG" code="8521" source="Server" process="7660" thread="26" methodName="WebSecurityManager.authenticate" machine="<GIS Server Name>" user="0123456789ABCDEF::test.admin::arcgispro" elapsed="" requestID="77b30783-a479-4c07-b131-a7e7a9255452">HTTP Referer: http://www.esri.com/AGO/0AD186F9-1693-47F8-8AB4-8DF3837AFD42</Msg>

 

<Msg time="2023-07-13T15:00:34,863" type="DEBUG" code="9999" source="Admin" process="7660" thread="1" methodName="" machine="<GIS Server Name>" user="" elapsed="" requestID="77b30783-a479-4c07-b131-a7e7a9255452">AWS cloud storage get operation succeeded in 3 ms. Response:GetResponse{request='GetRequest{type='ITEM', containerName='/services/Hosted/PostCode_Polygon.FeatureServer', configItemName='service.etag'}', item='ConfigItem{containerName='/services/Hosted/PostCode_Polygon.FeatureServer', configItemName='service.etag'}'}. </Msg>

 

<Msg time="2023-07-13T15:00:34,860" type="INFO" code="9029" source="Rest" process="7660" thread="1" methodName="" machine="<GIS Server Name>" user="" elapsed="" requestID="77b30783-a479-4c07-b131-a7e7a9255452">Request user: test.admin, Service: Hosted/PostCode_Polygon/FeatureServer</Msg>

 

<Msg time="2023-07-13T15:00:34,907" type="DEBUG" code="9999" source="Admin" process="7660" thread="1" methodName="" machine="<GIS Server Name>" user="" elapsed="" requestID="77b30783-a479-4c07-b131-a7e7a9255452">AWS cloud storage namespace 'dev2-host' connection succeeded in 44 ms. </Msg>

 

<Msg time="2023-07-13T15:00:35,39" type="DEBUG" code="8521" source="Server" process="7660" thread="26" methodName="WebSecurityManager.authenticate" machine="<GIS Server Name>" user="0123456789ABCDEF::test.admin::arcgispro" elapsed="" requestID="bfd80ef3-0ceb-4065-8335-acf5135b5c82">HTTP Referer: http://www.esri.com/AGO/0AD186F9-1693-47F8-8AB4-8DF3837AFD42</Msg>

 

Here is what happens with Power BI Desktop

Portal Logs:

2023-07-13 05:20:12 <Portal Server IP> POST /portal/sharing/oauth2/signin - 443 - <Source Client IP> Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/114.0.0.0+Safari/537.36+Edg/114.0.1823.67 https://gisportaldev2.basint.transport.nsw.gov.au/portal/sharing/oauth2/authorize?client_id=mapsForP... 302 0 0 187

2023-07-13 05:20:29 <Portal Server IP> POST /portal/sharing/rest/generateToken - 443 - <GeoEvent  Server> GeoEvent+Server+10.9.1 https://<geoeventserver>:6143/geoevent/admin/datastores/agsconnection/default 200 0 0 5

2023-07-13 05:20:30 <Portal Server IP> GET /hostserver/rest/services/Hosted/PostCode_Polygon/FeatureServer f=json&appID=mapsForPowerBI 443 - <Source Client IP> Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/114.0.0.0+Safari/537.36+Edg/114.0.1823.67 https://ms-pbi.pbi.microsoft.com/ 200 0 0 96

 

Server Logs:

<Msg time="2023-07-13T15:20:30,685" type="DEBUG" code="9999" source="Server" process="7660" thread="26" methodName="" machine="<GIS Server Name>" user="" elapsed="" requestID="4d04960e-17e9-4d9a-a0bb-0754a446e99b">ARCGIS_PORTAL_TOKEN Authentication, Token is not available in the request, request is treated as anonymous</Msg>

 

<Msg time="2023-07-13T15:20:30,685" type="DEBUG" code="8521" source="Server" process="7660" thread="26" methodName="WebSecurityManager.authenticate"

machine="<GIS Server Name>" user="Anonymous user" elapsed="" requestID="4d04960e-17e9-4d9a-a0bb-0754a446e99b">HTTP Referer: https://ms-pbi.pbi.microsoft.com/</Msg>

<Msg time="2023-07-13T15:20:30,685" type="INFO" code="9029" source="Rest" process="7660" thread="1" methodName="" machine="<GIS Server Name>" user="" elapsed="" requestID="4d04960e-17e9-4d9a-a0bb-0754a446e99b">Request user: Anonymous user, Service: Hosted/PostCode_Polygon/FeatureServer</Msg>

 

<Msg time="2023-07-13T15:20:30,715" type="DEBUG" code="9999" source="Server" process="7660" thread="26" methodName="" machine="<GIS Server Name>" user="" elapsed="" requestID="4d04960e-17e9-4d9a-a0bb-0754a446e99b">Exception in authorize Token Required</Msg>

 

<Msg time="2023-07-13T15:20:30,715" type="DEBUG" code="7331" source="Admin" process="7660" thread="1" methodName="" machine="<GIS Server Name>" user="" elapsed="" requestID="4d04960e-17e9-4d9a-a0bb-0754a446e99b">A request was made for service 'Hosted/PostCode_Polygon.MapServer' but it did not have adequate credentials.</Msg>

 

<Msg time="2023-07-13T15:20:30,715" type="DEBUG" code="9999" source="Admin" process="7660" thread="1" methodName="" machine="<GIS Server Name>" user="" elapsed="" requestID="4d04960e-17e9-4d9a-a0bb-0754a446e99b">GetServiceInFederatedMode returned null. Error 403.</Msg>

 

So as you can see as compared to arcgis pro, for power bi portal server sends appid instead of token, and when gis server receives request it says token not available and eventually 403 error.

0 Replies