KB-1029 "401 Unauthorized" error when running the Deployment Automation Manager in the command line

Symptoms

The Deployment Automation Manager shared component works correctly in the web browser, but using the command line tool fails. Running the command with the correct parameters as per the instructions is not able to successfully complete and the deployment processes stop. This behavior was observed when using WebLogic as an application server.

The following error can be seen in the generated deploymentautomation_XXXX.log:

[main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 401 Unauthorized

Cause

The deployment fails because the command line tool sends a POST request to the application server with basic authentication headers, however WebLogic requires any POST request with basic authentication to be validated. Thus, it strips the authentication headers before sending it to Appian. Appian will then receive a request without authentication details and returns Error 401 - Unauthorized.

Action

To make sure WebLogic validates the deployment tool requests:

  1. Create a new WebLogic user to run the automated deployment.
  2. The username and password must match the Appian credentials in the command line parameters -username and -password.
  3. This WebLogic user does not require elevated privileges.

Workaround

A workaround would be disabling the WebLogic setting, but it is a security risk as this controls whether or not the system should allow requests with invalid HTTP BASIC authentication credentials to access unsecured resources. Disable the enforce-valid-basic-auth-credentials flag in WebLogic by following these steps.

Affected Versions

This article applies to all versions of Appian using WebLogic as application server.

Last Reviewed: February 2017

Related
Recommended