Home Search

DriveWorks Pro 19
How To: Troubleshoot The Integration Theme (KB21060901)

Send Feedback

How To: Troubleshoot The Integration Theme

This article gives common errors and solutions when running the Integration Theme.

Before Starting To Troubleshoot

Before modifying any files, try the following to ensure your browser is serving the latest version:

  • In your browser, type Ctrl + F5 to hard refresh.

    This will make sure any external files are updated with the latest changes.

  • Try in an incognito window for a fresh cache.

    If this resolves the issue there will be a file cached in the main browser.

  • Check for trailing slashes in URLs written to the config.js file.

    In older versions of DriveWorks (before v18.1), a trailing slash in the supplied server url (serverUrl in config.js of the examples) can trigger errors, by doubling up in requests (for example //api).

    Remove the slash at the very end in your config values.

  • Check the DriveWorksConfigUser.xml file is valid by restarting DriveWorks Live.

    If any validation errors are found, a warning will be logged on-screen (Live) or in the console (manually running the .exe)

    To resolve errors, review C:\ProgramData\DriveWorks\<version>\Live\Themes\Integration\DriveWorksConfigUser.xml

  • Manually clear any locally stored session id:
    1. In your browser, open Dev Tools (F12).
    2. Click "Application", and expand "Cookies" from the Storage section.
    3. Click the current url in the list, and select "s" from the cookie list.
    4. Press the Delete key to remove this entry.
    5. Refresh the page to generate a new sessionId.
    6. For some of our shipped multi-page examples, the session id may also be stored under "Local Storage" (usually as "sessionId").
    7. As with cookies, select the item and press the Delete key to remove it.

Common Console Errors

When encountering issues with the Integration Theme, we recommend checking your browser's console (F12) for any error messages.

If no error message is shown, refresh the page (F5) with dev tools open to ensure any errors are being captured.

These messages help to determine root causes of any issues.

Search this page (Ctrl + F) for the error message you are presented with in the console (F12).

Partial string searches may be required (not every possible error message is listed, but most overlap).

The characters '###', listed in the messages below, refer to names that are specific to your implementation. Do not include any implementation specific naming when searching for the error.

Key

The messages below are prefixed with the following icons:

- denotes a console error.

- denotes a console warning

GET DriveWorksLiveClient.min.js - "EER_SSL_PROTOCOL_ERROR"

Cause:

The file is being requested over HTTPS where HTTPS is not supported.

Solution:

Try the following to resolve:

  • Ensure your server is configured correctly to serve over HTTPS.
    This is the recommended secure protocol.
  • Try using http:// rather than https:// in the <script> tag src attribute.
    A good way to test this is to open the URL in your browser, and see what loads.

POST /login - "EER_SSL_PROTOCOL_ERROR"

Cause:

The server is being requested over HTTPS where HTTPS is not supported.

Solution:

Try the following to resolve:

  • Ensure your server is configured correctly to serve over HTTPS.
    This is the recommended secure protocol.
  • Check the path to the serverUrl is also using the correct protocol.

    This protocol should match the <script> loading DriveWorksLiveClient.min.js to avoid a warning.

    A good way to test this is to open the URL in your browser, and see what loads.

POST /login - "ERR_CONNECTION_TIMED_OUT"

Cause:

A connection cannot be made to the supplied server url, being either invalid or offline.

Solution:

Try the following to resolve:

  • Confirm the correct server url is being used for new DriveWorksLiveClient (serverUrl in config.js of examples).
  • Check DriveWorks Live or PWE is running and has not crashed.

POST /login - "EER_NAME_NOT_RESOLVED"

Cause:

The serverUrl declared in the config.js file is incorrect.

Solution:

Try the following to resolve:

  • Confirm the correct server url is being used for new DriveWorksLiveClient (serverUrl in config.js of examples).

"The DriveWorks Live client library and Integration Theme host URL protocols do not match. This may lead to mixed content warnings and errors."

Cause:

The protocol (http/https) used for the client library (DriveWorksLiveIntegrationClient.min.js) does not match the server url provided to the client.

Solution:

  • Ensure these protocols match by checking the <script> tag and serverUrl in your config/passed directly into the client constructor - new DriveWorksLiveClient(serverUrl).

"Error: Cannot create connection without logging in first."

Cause:

A method has been run without a valid connection (for example createSpecification BEFORE loginGroup).

Solution:

Try the following to resolve:

  • Ensure loginGroup has been run and a valid session created before attempting to run further methods.
  • Ensure the serverUrl passed to loginGroup is correct, and available.

"Uncaught TypeError: window.DriveWorksLiveClient is not a constructor"

Cause:

DriveWorksLiveIntegrationClient.min.js could not be loaded, so the browser does not understand new window.DriveWorksLiveClient(). This is required to run any SDK function.

Solution:

Try the following to resolve:

  • Check the protocol in the <script> tag loading this. Is it HTTPS when it should be HTTP?
  • Check the domain/url in the <script> tag. Is it correct?
  • Is the right port being used?

    PWE Default: http://localhost:5000

    Note: do not confuse this with 5500, which is the port for VS Code's Live Server plugin.

    Live Default: http://your-machine-name:8020

  • Try opening the path you are trying to load in a browser. If it is correct, you should see a large code file.

"401 (Unauthorized) / Error: 401 Unauthorized The session was not found for the supplied group."

Cause:

One or a combination of any of the following could be occurring.

  • Never logged in

    Solution:

    Ensure to login at least once before any other requests.

  • Session-id no longer valid (If your session timeout kicked-in, live restarted, an admin kicked you out, etc.)

    Solution:

    Need to login again or clear any locally stored session (see Handy Tips above) and refresh the page.

  • Session-id could not be stored due to cross-domain cookies being blocked

    Solution:

    Fix persistent 401 Unauthorized errors (SameSite errors).

  • Session-id was not sent over in headers

    Solution:

    Ensure session-id is sent as part of requests headers if making manual requests (for example via Postman).

POST /login 404 - "Error: 404 A group could not be found with the alias provided."

Cause:

The Group Alias passed is incorrect or does not exist.

Solution:

POST /login 404 - "Error: 404 Unable to find a group with the name '###'."

Cause:

Invalid XML config, or .drivegroup moved (different path for individual or different Pro Server for shared) specified in DriveWorksConfigUser.xml.

Solution:

POST /Specifications/'###' 404 / "Error: 404 The Project could not be found. Please ensure that the Project still exists."

Cause:

Invalid Project name supplied to method.

Solution:

Try the following to resolve:

  • Check the Project name provided (inline or from a config file) is correct, and is available to the current user's team permissions.

    See Integration Theme Settings - Permissions for more information.

  • Check normal DriveWorks security.

GET /Specifications/'###' 404 / "Error: 404 A Specification could not be found with the Id provided."

Cause:

A Specification could not be found with the Id provided.

Solution:

Try the following to resolve:

  • Supply a valid Specification id. This is a numerical value, e.g. 3245, and does not include the 'name' of the Specification.
  • Check normal DriveWorks security.
  • Check Specification Flow security.

"Error: 404 The action '###' could not be found." "Failed to load resource: the server responded with a status of 404 ()" - /Transitions/'###'

Cause:

That action (Transition/Operation) is no longer available server side - as the state of the Specification has changed.

Solution:

Try the following to resolve:

  • Grab the latest Actions (getSpecificationActions) and run one of the available actions returned.
  • Check normal DriveWorks security.
  • Check Specification Flow security.

"Error: The HTTP request cannot be sent as you do not have the latest version of '###'. The request has been cancelled. You must have the latest version to update the requested resource."

Cause:

The Constant/Transition/Operation has never been requested, or has changed server side since it was last requested, so it's eTag does not exist or no longer matches the locally stored copy.

Solution:

  • Get the latest value (and up-to-date eTag) BEFORE updating/invoking.
    • Constant - getSpecificationConstantByName
    • Transition - getSpecificationTransitionByName
    • Operation - getSpecificationOperationByName

GET /Constants/'###' 404 - "Error: 404 Not Found A Constant could not be found with the name provided."

Cause:

A Constant with that name could not be found - either due to not existing, or access not being permitted.

Solution:

  • Ensure the Constant name is valid and exists in the Project, and that the Constant is permitted for access (read/write) through DriveWorksConfigUser.xml.

    See Integration Theme Settings - Permissions for more information.

POST /Constants/'###' 403 (Forbidden) - "Error: 403 Forbidden You do not have permission to edit the Constant 'DWConstant123'."

Cause:

The Constant exists and is available, but editing is not permitted (via updateConstantValue).

Solution:

Try the following to resolve:

  • Set canEdit="true" for the Constant in the DriveWorksConfigUser.xml.
  • Ensure the team of the current user has edit access to this Constant.

    See Integration Theme Settings - Permissions for more information.

POST runMacro/'###' 404 - "Error: 404 Not Found The Macro name is unknown or invalid."

Cause:

A Macro with that name could not be found - either due to not existing, or running not being permitted.

Solution:

  • Ensure the Macro name is valid and exists in the Project, and that the Macro is permitted to be run through DriveWorksConfigUser.xml.

    See Integration Theme Settings - Permissions for more information.