Reference manual

Open from BC

Symptom: You get an error notification while connecting to or downloading from Business Central.

A number of things can go wrong when you open a solution from a running Business Central instance. Prism for AL pretty much mimics the AL: Download symbols command in Visual Studio Code, so if somethings goes wrong, the first thing to check is that you can download symbols from Visual Studio Code.

In order to download all apps, Prism for AL retrieves a list of published apps. Therefore, the connecting user needs to have a permission set that includes read permission to TableData of Published Application.

Here follows a list of typical issues grouped by notification (or browser) message:

Entra ID sign-in

AADSTS90099: The application '08b6330b-c695-4388-a09f-e2155b3cc9c0' (Statical Prism for AL) has not been authorized in the tenant '<CUSTOMER TENANT GUID>'. Applications must be authorized to access the customer tenant before partner delegated administrators can use them.
Please ask the customer's Azure administrator to grant admin consent for Statical Prism for AL. The breadcrumb path in Azure is Enterprise applications / Statical Prism for AL / Security / Permissions.
Selected user account does not exist in tenant '<CUSTOMER TENANT GUID>' and cannot access the application '08b6330b-c695-4388-a09f-e2155b3cc9c0' in that tenant. The account needs to be added as an external user in the tenant first. Please use a different account.
If you are a GDAP partner and trying access a customers environment, please make sure that you are added to the security group specified for the admin relationship in your Microsoft partner center.

On-premises connection errors

Error connecting to OData services on <HOST>:<PORT>
- Not Found
No BC server instance with the specified name was found on the host/port.
  • Check the instance name is correct.
  • Check the instance is running on the specified server/port; compare with your server's OData configuration.
  • Detailed information is available in the Prism's log; enable debug logging (Help | Log), try again and check the session log.
Error connecting to OData services on <HOST>:<PORT>
- A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
- No connection could be made because the target machine actively refused it.
OData services is not running on the server or could not be reached.
  • Check that the OData service is running on the specified server/port; compare with your server's OData service configuration.
  • Check that your firewall is not blocking the request.
  • Detailed information is available in the Prism's log; enable debug logging (Help | Log), try again and check the session log.
Error connecting to OData services on <HOST>:<PORT>
- Web service call failed because user could not be authenticated or authorized.
  • If the server is multi-tenant then check that you have specified the correct tenant.
  • Check that you credentials are of the right type (if the server is configured for Username/Password, then you will get this error if you have selected Windows.)
  • Check that you can connect to the BC application in a browser and/or download symbols from Visual Studio Code.
Error connecting to OData services on <HOST>:<PORT>
- Unauthorized.
  • Check that you credentials are of the right type (if the server is configured for Windows, then you will get this error if you have selected Username/Password.)
  • Check that you can connect to the BC application in a browser and/or download symbols from Visual Studio Code.
Error connecting to OData services on <HOST>:<PORT>
- Service Unavailable
If you are hosting multiple BC instances on the same OData port, then OData might not be running for the specified instance, but still for other instances.
  • Check that the specified instance/service is running.
  • Check that the OData service is enabled on the specified server/port; compare with your server's OData service configuration.
  • Detailed information is available in the Prism's log; enable debug logging (Help | Log), try again and check the session log.
Error connecting to Developer services on <HOST>:<PORT>
- Not Found.
- Service Unavailable
No running Developer service was found for the specified instance.
  • Check that the Developer service is running on the specified server/port; compare with your server's Developer service configuration.
  • Detailed information is available in the Prism's log; enable debug logging (Help | Log), try again and check the session log.
Error connecting to Developer services on <HOST>:<PORT>
- A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
- No connection could be made because the target machine actively refused it.
Developer services is not running on the server or could not be reached.
  • Check that Developer services are running on the specified server/port; compare with your server's Developer service configuration.
  • Check that your firewall is not blocking the request.
  • Detailed information is available in the Prism's log; enable debug logging (Help | Log), try again and check the session log.

Online connection errors

Error connecting to OData services on businesscentral.dynamics.com - Not Found.
Check that the specified environment name exists on the specified tenant.
Error connecting to Developer services on businesscentral.dynamics.com - Internal Server Error.
Please check that you are not trying to download from a Production instance. For online, you can only download from Sandbox environments.

Download failed

Some symbol files failed to download, see log file for more information.

Please inspect Prism for AL's session log.

  • If `AL: Download symbols` works in Visual Studio Code, then most likely you are only missing read permission on `TableData` Published Application. Ask your administrator to give you this permission and try again.
  • If the log contains "Unable to get company ID" or mentions missing permissions, please ensure the user has at least the following permissions:
    Object Type Object ID Object Name Permissions
    Table Data 2000000153 NAV App Installed App Rimd
    Table Data 2000000206 Published Application R
    Table 2000000206 Published Application X
    Codeunit 2504 Extension Management X
    Page 30002 APIV2 - Aut. Extensions X

    This was last checked with BC26. If the log mentions properties other than these, please let us know.

  • If the error matches something like: 404 No HTTP resource was found that matches the request URI 'api/…/companies(…)/extensions', then the _Exclude_APIV2_ app may not be installed on the server. If so, please install it and try again.

Configuration

To check the OData services configuration on the server:
Use an administrator Business Central Administration Shell (or any powershell with the NavAdminTools module imported) to issue the following command (replace <BC> with instance name):

(Get-NAVServerConfiguration <BC>) | Where-Object { $_.Key -match "ODataServices(Enabled|Port|SSLEnabled)" }

To check the Developer services configuration on the server:
Use an administrator Business Central Administration Shell (or any powershell with the NavAdminTools module imported) to issue the following command (replace <BC> with instance name):

(Get-NAVServerConfiguration <BC>) | Where-Object { $_.Key -match "DeveloperServices(Enabled|Port|SSLEnabled)" }

To check if the APIV2 app is installed on the server:
Use an administrator Business Central Administration Shell (or any powershell with the NavAdminTools module imported) to issue the following command (replace <BC> with instance name, and on multitenant installations default with the requested tenant):

Get-NAVAppInfo -ServerInstance <BC> -Tenant default | Where-object { $_.Name -eq "_Exclude_APIV2_" }

If the app is installed, information about the app is returned. Otherwise, no information is returned.