27 October, 2016

Error to start 'usermessagingserver' application in a SOA Environment

I got this issue when I tried to start a SOA managed server:

<Error> <Deployer> <BEA-149205> <Failed to initialize the application 'usermessagingserver' due to error weblogic.application.ModuleException: Exception preparing module: EJBModule(sdpmessagingengine.jar)

Unable to deploy EJB: MessageForwarderBean from sdpmessagingengine.jar:

The run-as security principal, 'OracleSystemUser', chosen for the EJB 'MessageForwarderBean(Application: usermessagingserver, EJBComponent: sdpmessagingengine.jar)' is not a valid user principal in the current security realm. Please specify a valid user principal for the EJB to use.​

Looking at the error we can see a complaint about an user: OracleSystemUser.

First of all I've checked if the user was still valid:

  1. Login into Weblogic Console 
  2. Navigate to Security Realms -> myrealm -> Users and Groups -> Groups..
  3. I noticed that the user OracleSystemUser wasn't there.
To recreate rightly the user, follow the steps below:

Still in Users and Groups tab:
  1. Access the Groups tab.
  2. Check if the OracleSystemGroup exists. If so, go to step 4.
  3. Click on the 'New' button and enter the below details:
    Name: OracleSystemGroup
    Description: Oracle application software system group
    Provider: <leave the default value: DefaultAuthenticator>
    Click OK
  4. Access the Users tab.
  5. Click on the 'New' button and enter:
    User: OracleSystemUser
    Description: Oracle application software system user
    Password: <provide same password as weblogic user>
    Click OK.
  6. Click on the username 'OracleSystemUser' and then click on 'Groups'. 
  7. Select the previously created 'OracleSystemGroup' and click 'Save'.

Bounce all servers on cluster to complete the changes and let the server starts the applications normally.

Note: that error can occurs with other applications in WLS which uses the OracleSystemUser.