After upgrade, AWI/AE error | Error: Field 'Length' in message header is invalid.
search cancel

After upgrade, AWI/AE error | Error: Field 'Length' in message header is invalid.

book

Article ID: 249533

calendar_today

Updated On:

Products

CA Automic Workload Automation - Automation Engine

Issue/Introduction

After upgrading from 12.x to 21.0, the AWI cannot connect to the Automation Engine.

After creating the certificates and configuring them in the ucsrv.ini file, the JCP works using the start command: ucsrvjp.jar -rest

The uc4config.xml file is prepared and updated to point to short name, full name, and ip address of the AE and point to the CP ports (2217-2221):

The certificate is in the path assigned to trustedCertFolder.

Based on the CP log, there is a communication failure between AWI and AE:

20220907/062731.971 - U00003406 Client connection '10(7)'  from '[IP of AWI]:64960' has logged on to the Server.
20220907/062731.985 - U01002200 Received an invalid message from partner '*CP001#00000010' via connection '[IP of AWI]:64960'.
20220907/062731.985 - U01002203 Field 'Length' in message header is invalid.
20220907/062731.985 - U00009907 Memory dump 'Invalid Msg from Connection 10' (Address='000002283AC51FB0', Length='205')
20220907/062731.985 -           00000000  16030300 C8010000 C4030363 189C4344  >....È...Ä..c.?CD<
20220907/062731.985 -           00000010  5CBADBAB 66ECB1CA A861A0FC 0273A9D0  >\ºÛ«fì±Êša ü.s©Ð<
20220907/062731.985 -           00000020  1D5BD1C5 3CB973A4 8744A000 0030C024  >.[ÑÅ<¹s€?D ..0À$<
20220907/062731.985 -           00000030  C028C026 C02A006B 006AC023 C027C025  >À(À&À*.k.jÀ#À'À%<
20220907/062731.985 -           00000040  C0290067 0040C02C C02BC030 C02EC032  >À).g.@À,À+À0À.À2<
20220907/062731.985 -           00000050  009F00A3 C02FC02D C031009E 00A20100  >.?.£À/À-À1.?.¢..<
20220907/062731.985 -           00000060  006B000A 00160014 00170018 00190009  >.k..............<
20220907/062731.985 -           00000070  000A000B 000C000D 000E0016 000B0002  >................<
20220907/062731.985 -           00000080  0100000D 00160014 06030601 05030501  >................<
20220907/062731.985 -           00000090  04030401 04020203 02010202 00170000  >................<
20220907/062731.985 -           000000A0  00000024 00220000 1F6C766E 6B746573  >...$."...fully.q<
20220907/062731.985 -           000000B0  74303031 3433322E 6270632E 62726F61  >ualified.domain.<
20220907/062731.985 -           000000C0  64636F6D 2E6E6574 FF010001 00        >nameÿ.........<
20220907/062731.989 - U00003407 Client connection '10(6)' from '[IP of AWI]:64960' has logged off from the Server.

Resolution

 With the update to 21.0, there is a change where the JCP was split into two different processes: the REST process and what is now called a JCP process. 
The REST process does much the same as the JCP did in 12.3. 
The JCP does what CPs did in previous versions where the AWI and TLS-enabled agents (most version 21.0 agents) communicate with a JCP instead of with CPs.

This means that there are now three CP type processes:
CP
REST
JCP

In this case, there were 5 "traditional" CPs running and one REST process running.  A JCP also needs to be started. Using the service manager dialog, the easiest way to do this is:

  1. Open the service manager dialog and point it to the system already running your other processes
  2. Right-click the current REST process (this probably has a name like JCP right now) and choose "Duplicate"
  3. Open the properties for the duplicated process and update the start command to have the flag:
    -cp
    instead of the flag:
    -rest
  4. Start the JCP

The processes should look something like this in the service manager. 

https://api-broadcom-ca.wolkenservicedesk.com/attachment/get_attachment_content?uniqueFileId=j2CDC3vpzYDoVqtoT/jwIQ==

In this case, the top process is the JCP (ucsrvjp.jar started with the -cp flag), the second process is the REST API (ucsrvjp.jar started with the -rest flag), and the third process is the "traditional" CP (ucsrvcp).

Once JCP is up and successfully running, the ports in the uc4config.xml file need to be updated for the AWI to point to the WS.PORT from the ucsrv.ini file.  This is a websocket port where the JCP listens for incoming communication and is set by default to 8443-8445.  The first JCP will probably bind to 8443 and this can be seen in the JCP log file with line like:

Jetty: Started ServerConnector@18203807{SSL, (ssl, http/1.1)}{0.0.0.0:8443}

Any 21.0 agents will also need to point to the WS.PORT from the ucsrv.ini file as they'll connect to the JCP instead of the CPs.