Wednesday, November 5, 2025

Weblogic 14.1.2 EJB client with JNDI lookup

 HOWTO



Git


Blog

 

 Add t3 client  

dependency>
    <groupId>com.oracle.weblogic</groupId>
    <artifactId>wlthint3client</artifactId>
    <version>14.1.2-0-0</version>
</dependency>

JNDI names

     java:global/basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote

Trying JNDI name: java:global/basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote
✓ Successfully looked up AccountManagerRemote EJB at: java:global/basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote
Depositing $100.5 to account: john.doe

EJB

package dave.service;

import javax.ejb.Stateless;
import javax.ejb.Remote;
import javax.ejb.Local;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.annotation.sql.DataSourceDefinition;

import dave.entity.Account;

/**
 * Option 1: Use name attribute to define the EJB name
 * The JNDI name will be: java:global/<app-name>/<ejb-name>!<interface>
 * 
 * Option 2: Use mappedName for explicit JNDI binding (WebLogic-specific)
 * mappedName = "ejb/AccountManager"
 */
@Stateless(name = "AccountManagerEJB")
@Local(AccountManager.class)
@Remote(AccountManagerRemote.class)
//Data Source defined for JPA. It assume the derby database is started up and listen to localhost:1527
@DataSourceDefinition(name = "java:module/env/mavenArchetypeDataSource", className = "org.apache.derby.jdbc.ClientXADataSource", portNumber = 1527, serverName = "localhost", databaseName = "examples", user = "examples", password = "examples", properties={"create=true", "weblogic.TestTableName=SQL SELECT 1 FROM SYS.SYSTABLES"})
public class AccountManagerImpl implements AccountManager, AccountManagerRemote {

  @PersistenceContext
  private EntityManager em;
  
  public void depositOnAccount(String name, float amount) {
    Account account = em.find(Account.class, name);
    if (account == null) {
      account = new Account();
      account.setName(name);
    }
    account.setAmount(account.getAmount() + amount);
    em.persist(account);
  }
  
  public Account findAccount(String name) {
    return em.find(Account.class, name);
  }
}

JNDI EJB client

/**
 * External Java EJB Client for AccountManager
 */
package dave.client;

import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import dave.service.AccountManagerRemote;
import dave.entity.Account;

public class AccountManagerClient {

    private static final String WEBLOGIC_JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory";
    private static final String PROVIDER_URL = "t3://localhost:7001";
    
    /**
     * JNDI lookup patterns for WebLogic:
     * 
     * Pattern 1 (Portable Global JNDI):
     * java:global/<app-name>/<module-name>/<bean-name>!<fully-qualified-interface-name>
     * Example: java:global/basicWebappEjb/AccountManagerImpl!dave.service.AccountManagerRemote
     * 
     * Pattern 2 (WebLogic-specific):
     * <ejb-name>#<fully-qualified-interface-name>
     * Example: AccountManagerImpl#dave.service.AccountManagerRemote
     * 
     * Pattern 3 (Application-scoped):
     * java:app/<module-name>/<bean-name>!<fully-qualified-interface-name>
     */
    // Multiple JNDI names to try - WebLogic registers EJBs with multiple patterns
    private static final String[] JNDI_NAMES = {
        // Using custom name="AccountManagerEJB"
        "java:global/basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote",
        "java:global/basicWebappEjb/AccountManagerEJB",
        // Fallback to default names
        "java:global/basicWebappEjb/AccountManagerImpl!dave.service.AccountManagerRemote",
        "java:global/basicWebappEjb/AccountManagerImpl",
        "basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote",
        "ejb/AccountManager#dave.service.AccountManagerRemote"
    };
    
    public static void main(String[] args) {
        AccountManagerClient client = new AccountManagerClient();
        try {
            client.testEJB();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    public void testEJB() throws NamingException {
        Context context = null;
        try {
            // Get initial context
            context = getInitialContext();
            
            // Try multiple JNDI names
            AccountManagerRemote accountManager = null;
            String successfulJndiName = null;
            
            for (String jndiName : JNDI_NAMES) {
                try {
                    System.out.println("Trying JNDI name: " + jndiName);
                    accountManager = (AccountManagerRemote) context.lookup(jndiName);
                    successfulJndiName = jndiName;
                    System.out.println("✓ Successfully looked up AccountManagerRemote EJB at: " + jndiName);
                    break;
                } catch (NamingException e) {
                    System.out.println("✗ Failed: " + e.getMessage());
                }
            }
            
            if (accountManager == null) {
                throw new NamingException("Could not find EJB with any of the attempted JNDI names");
            }
            
            // Test deposit
            String accountName = "john.doe";
            float depositAmount = 100.50f;
            
            System.out.println("Depositing $" + depositAmount + " to account: " + accountName);
            accountManager.depositOnAccount(accountName, depositAmount);
            
            // Test find
            Account account = accountManager.findAccount(accountName);
            if (account != null) {
                System.out.println("Account found: " + account.getName() + 
                                   ", Balance: $" + account.getAmount());
            } else {
                System.out.println("Account not found");
            }
            
        } finally {
            if (context != null) {
                try {
                    context.close();
                } catch (NamingException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
    /**
     * Create InitialContext for WebLogic Server
     */
    private Context getInitialContext() throws NamingException {
        Hashtable<String, String> env = new Hashtable<>();
        env.put(Context.INITIAL_CONTEXT_FACTORY, WEBLOGIC_JNDI_FACTORY);
        env.put(Context.PROVIDER_URL, PROVIDER_URL);
        
        // Add credentials - required for WebLogic security
        env.put(Context.SECURITY_PRINCIPAL, "weblogic");
        env.put(Context.SECURITY_CREDENTIALS, "weblogic123");
        
        return new InitialContext(env);
    }
}

Check JNDI in remote Weblogic 14.1.2 console 

 

 

Saturday, October 25, 2025

Building Jakarta EE Projects for WebLogic Server 14.1.2 with Maven

 HOWTO

 Oracle  

 

Blog

Github

 

Install Oracle Weblogic JARs to local Maven repo using 

Oracle Maven Synchronization Plug-In

 

dave@dave:/git/weblogic/dave-basic-project-14.1.2$ ls /app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/oracle-maven-sync-14.1.2.pom
/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/oracle-maven-sync-14.1.2.pom
dave@dave:/git/weblogic/dave-basic-project-14.1.2$ cd /app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/
dave@dave:/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2$ mvn install:install-file -DpomFile=oracle-maven-sync-14.1.2.pom -Dfile=oracle-maven-sync-14.1.2.jar
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- install:3.1.1:install-file (default-cli) @ standalone-pom ---
Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/aether/aether-api/1.0.0.v20140518/aether-api-1.0.0.v20140518.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/aether/aether-api/1.0.0.v20140518/aether-api-1.0.0.v20140518.jar (136 kB at 324 kB/s)
[INFO] Installing /home/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/oracle-maven-sync-14.1.2.jar to /home/dave/.m2/repository/com/oracle/maven/oracle-maven-sync/14.1.2-0-0/oracle-maven-sync-14.1.2-0-0.jar
[INFO] Installing /home/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/oracle-maven-sync-14.1.2.pom to /home/dave/.m2/repository/com/oracle/maven/oracle-maven-sync/14.1.2-0-0/oracle-maven-sync-14.1.2-0-0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.933 s
[INFO] Finished at: 2025-10-25T23:34:30+02:00
[INFO] ------------------------------------------------------------------------
dave@dave:/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2$ mvn help:describe -Dplugin=com.oracle.maven:oracle-maven-sync -Ddetail
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- help:3.2.0:describe (default-cli) @ standalone-pom ---
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom (680 B at 2.1 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom (5.9 kB at 155 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/junit/junit/4.10/junit-4.10.pom
Downloaded from central: https://repo.maven.apache.org/maven2/junit/junit/4.10/junit-4.10.pom (2.3 kB at 52 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom (481 B at 11 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom (5.9 kB at 103 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-6/wagon-http-lightweight-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-6/wagon-http-lightweight-1.0-beta-6.pom (1.8 kB at 44 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-6/wagon-http-shared-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-6/wagon-http-shared-1.0-beta-6.pom (2.1 kB at 55 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/nekohtml/xercesMinimal/1.9.6.2/xercesMinimal-1.9.6.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/nekohtml/xercesMinimal/1.9.6.2/xercesMinimal-1.9.6.2.pom (390 B at 11 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/nekohtml/nekohtml/1.9.6.2/nekohtml-1.9.6.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/nekohtml/nekohtml/1.9.6.2/nekohtml-1.9.6.2.pom (704 B at 18 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http/1.0-beta-6/wagon-http-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http/1.0-beta-6/wagon-http-1.0-beta-6.pom (3.3 kB at 76 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom (7.8 kB at 194 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.2/commons-codec-1.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.2/commons-codec-1.2.pom (3.8 kB at 93 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-webdav-jackrabbit/1.0-beta-6/wagon-webdav-jackrabbit-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-webdav-jackrabbit/1.0-beta-6/wagon-webdav-jackrabbit-1.0-beta-6.pom (3.5 kB at 92 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-webdav/1.5.0/jackrabbit-webdav-1.5.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-webdav/1.5.0/jackrabbit-webdav-1.5.0.pom (3.3 kB at 93 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-parent/1.5.0/jackrabbit-parent-1.5.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-parent/1.5.0/jackrabbit-parent-1.5.0.pom (25 kB at 516 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-jcr-commons/1.5.0/jackrabbit-jcr-commons-1.5.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-jcr-commons/1.5.0/jackrabbit-jcr-commons-1.5.0.pom (3.0 kB at 90 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.5.3/slf4j-api-1.5.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.5.3/slf4j-api-1.5.3.pom (3.0 kB at 85 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.5.3/slf4j-parent-1.5.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.5.3/slf4j-parent-1.5.3.pom (7.7 kB at 204 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.pom (8.0 kB at 182 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-nop/1.5.3/slf4j-nop-1.5.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-nop/1.5.3/slf4j-nop-1.5.3.pom (1.5 kB at 40 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-6/wagon-ssh-external-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-6/wagon-ssh-external-1.0-beta-6.pom (2.6 kB at 66 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-6/wagon-ssh-common-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-6/wagon-ssh-common-1.0-beta-6.pom (1.8 kB at 49 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-6/wagon-ssh-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-6/wagon-ssh-1.0-beta-6.pom (2.9 kB at 72 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.38/jsch-0.1.38.pom
Downloaded from central: https://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.38/jsch-0.1.38.pom (967 B at 28 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/junit/junit/4.10/junit-4.10.jar
Downloaded from central: https://repo.maven.apache.org/maven2/junit/junit/4.10/junit-4.10.jar (253 kB at 2.8 MB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar (77 kB at 1.1 MB/s)
[INFO] com.oracle.maven:oracle-maven-sync:14.1.2-0-0

Name: Oracle Maven Synchronization Plugin
Description: Maven plugin to load a Maven repository with the contents of the
  Oracle Home directory
Group Id: com.oracle.maven
Artifact Id: oracle-maven-sync
Version: 14.1.2-0-0
Goal Prefix: oracle-sync

This plugin has 2 goals:

oracle-sync:help
  Description: Display help.
  Implementation: com.oracle.maven.sync.ODMHelp
  Language: java

  This mojo doesn't use any parameters.

oracle-sync:push
  Description: Install to the local repository and optionally deploy to a
    remote repository from the specified oracle home
    The plugin will use your current Maven settings to determine the path to
    the local repository and, optionally, a remote deployment repository. For
    details on how to configure Maven's repository settings, see the Maven
    settings reference: http://maven.apache.org/settings.html
    
    You can specify the parameters on the command line like this:
    -DserverId=archiva-internal -DdryRun=false -DfailOnError=false
    
    To override the localRepository target used by the plugin, you can specify
    the following option on the command-line:
    -Dmaven.local.repo=/alternate/path/to/repository
    
    To supply an alternate settings.xml for purposes of this operation, use the
    --settings option. For example:
    
     mvn --settings /alternate/path/settings.xml ...
    
    ...or in your POM like this:
    
     <plugin>
     <groupId>com.oracle.maven</groupId>
     <artifactId>oracle-maven-sync</artifactId>
     <version>14.1.2-0-0</version>
     <configuration>
     <oracleHome>/home/mark/Oracle/Middleware</oracleHome>
     <failOnError>false</failOnError>
     </configuration>
     </plugin>
  Implementation: com.oracle.maven.sync.ODMPushMojo
  Language: java

  Available parameters:

    dryRun (Default: false)
      User property: dryRun
      If set to 'true' this goal execution will only log push actions but will
      not actually make any changes.

    failOnError (Default: true)
      User property: failOnError
      If set to 'true' the plugin will stop and return an error immediately
      upon the first failure to deploy an artifact. Otherwise, the plugin will
      log the error and attempt to complete deployment of all other artifacts.

    oracleHome
      Required: true
      User property: oracleHome
      Path to the Oracle home.

    overwriteParent (Default: false)
      User property: overwriteParent
      If true, the plugin will overwrite POM artifacts with ancestry to
      oracle-common if they exist in the target repository. The default value
      of false will prevent automatic overwrite of customized POM contents. If
      any such POMs are encountered during plugin execution, an error will be
      thrown and handled according to the failOnError flag value. To carry over
      changes, save the existing POMs, run the push goal with
      overwriteParent=true and manually transfer the changes to the newly
      pushed POMs.

    pushDuplicates (Default: false)
      User property: pushDuplicates
      Push all duplicate locations. If multiple POMs with different Maven
      coordinates (GAV) are assigned to the same location path, the plugin will
      push them all to the destination repository if this flag is true.
      If the value is false, the push operation will fail. Set failOneError to
      false if you would like to skip all duplicates except the GAV in the set
      of duplicates that is encountered first.

    retryFailedDeploymentCount (Default: 1)
      User property: retryFailedDeploymentCount
      Parameter used to control how many times a failed deployment will be
      retried before giving up and failing. If a value outside the range 0-10
      is specified it will be pulled to the nearest value within the range
      0-10. If set to 0, there will be no retries
      
      If the artifact being deployed to the remote server has both a POM and a
      binary file, the retry count will be reset between deploying the POM and
      deploying the binary file.
      
      This parameter is ignored when pushing to a local repository.

    serverId
      User property: serverId
      This is the ID of the repository in your pom.xml or settings.xml file -
      where you have specified the remote Maven repository and its
      authentication information. The plugin will only install to the local
      repository if this parameter is not set.


[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.459 s
[INFO] Finished at: 2025-10-25T23:35:41+02:00
[INFO] ------------------------------------------------------------------------
dave@dave:/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2$ mvn com.oracle.maven:oracle-maven-sync:push -DoracleHome=/app/weblogic
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- oracle-sync:14.1.2-0-0:push (default-cli) @ standalone-pom ---
[INFO] ------------------------------------------------------------------------
[INFO] ORACLE MAVEN SYNCHRONIZATION PLUGIN - PUSH
[INFO] ------------------------------------------------------------------------

 

Generate project from archetype

  See generated code here  https://github.com/dveselka/weblogic/tree/master/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project

dave@dave:/git/weblogic/dave-basic-project-14.1.2$ mvn archetype:generate     -DarchetypeGroupId=com.oracle.weblogic.archetype     -DarchetypeArtifactId=basic-webapp-ejb     -DarchetypeVersion=14.1.2-0-0     -DgroupId=dave     -DartifactId=dave-basic-webapp-ejb-project     -Dversion=1.0-SNAPSHOT
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] >>> archetype:3.2.1:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO] 
[INFO] <<< archetype:3.2.1:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO] 
[INFO] 
[INFO] --- archetype:3.2.1:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[WARNING] Archetype not found in any catalog. Falling back to central repository.
[WARNING] Add a repository with id 'archetype' in your settings.xml if archetype's repository is elsewhere.
[INFO] Using property: groupId = dave
[INFO] Using property: artifactId = dave-basic-webapp-ejb-project
[INFO] Using property: version = 1.0-SNAPSHOT
[INFO] Using property: package = dave
Confirm properties configuration:
groupId: dave
artifactId: dave-basic-webapp-ejb-project
version: 1.0-SNAPSHOT
package: dave
 Y: : Y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: basic-webapp-ejb:14.1.2-0-0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: dave
[INFO] Parameter: artifactId, Value: dave-basic-webapp-ejb-project
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: dave
[INFO] Parameter: packageInPathFormat, Value: dave
[INFO] Parameter: package, Value: dave
[INFO] Parameter: groupId, Value: dave
[INFO] Parameter: artifactId, Value: dave-basic-webapp-ejb-project
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Project created from Archetype in dir: /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  6.297 s
[INFO] Finished at: 2025-10-25T23:39:54+02:00
[INFO] ------------------------------------------------------------------------
dave@dave:/git/weblogic/dave-basic-project-14.1.2$ find dave-basic-webapp-ejb-project/
dave-basic-webapp-ejb-project/
dave-basic-webapp-ejb-project/pom.xml
dave-basic-webapp-ejb-project/src
dave-basic-webapp-ejb-project/src/main
dave-basic-webapp-ejb-project/src/main/java
dave-basic-webapp-ejb-project/src/main/java/dave
dave-basic-webapp-ejb-project/src/main/java/dave/entity
dave-basic-webapp-ejb-project/src/main/java/dave/entity/Account.java
dave-basic-webapp-ejb-project/src/main/java/dave/service
dave-basic-webapp-ejb-project/src/main/java/dave/service/AccountManagerImpl.java
dave-basic-webapp-ejb-project/src/main/java/dave/service/AccountBean.java
dave-basic-webapp-ejb-project/src/main/java/dave/service/AccountManager.java
dave-basic-webapp-ejb-project/src/main/java/dave/interceptor
dave-basic-webapp-ejb-project/src/main/java/dave/interceptor/LogInterceptor.java
dave-basic-webapp-ejb-project/src/main/java/dave/interceptor/OnDeposit.java
dave-basic-webapp-ejb-project/src/main/webapp
dave-basic-webapp-ejb-project/src/main/webapp/css
dave-basic-webapp-ejb-project/src/main/webapp/css/bootstrap.css
dave-basic-webapp-ejb-project/src/main/webapp/index.xhtml
dave-basic-webapp-ejb-project/src/main/webapp/WEB-INF
dave-basic-webapp-ejb-project/src/main/webapp/WEB-INF/web.xml
dave-basic-webapp-ejb-project/src/main/webapp/WEB-INF/beans.xml
dave-basic-webapp-ejb-project/src/main/webapp/template.xhtml
dave-basic-webapp-ejb-project/src/main/resources
dave-basic-webapp-ejb-project/src/main/resources/META-INF
dave-basic-webapp-ejb-project/src/main/resources/META-INF/persistence.xml
dave-basic-webapp-ejb-project/src/main/scripts

 

Fix Maven plugin dependency 

<plugin>
        <groupid>com.oracle.weblogic</groupid> 
        <artifactid>weblogic-maven-plugin</artifactid> 
        <version>14.1.2-0-0</version> 
        <!--You can find and redefine the following variables in the parent pom file arccording to your environment.
  
        oracleMiddlewareHome
        oracleServerUrl
        oracleUsername
        oraclePassword
        oracleServerName-->
        <configuration> 
          <middlewarehome>${oracleMiddlewareHome}</middlewarehome>
        </configuration>
        <dependencies>
           <dependency>
            <groupid>com.oracle.weblogic</groupid>
            <artifactid>weblogic</artifactid>
            <version>14.1.2-0-0</version>
            <scope>system</scope>
            <systempath>/app/weblogic/wlserver/server/lib/weblogic.jar</systempath>
         </dependency>
        </dependencies> 

 

Deploy project

dave@dave:/git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project$ mvn -e  pre-integration-test
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------< dave:dave-basic-webapp-ejb-project >-----------------
[INFO] Building basicWebappEjb 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ war ]---------------------------------
[INFO] 
[INFO] --- resources:3.3.1:resources (default-resources) @ dave-basic-webapp-ejb-project ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 1 resource from src/main/resources to target/classes
[INFO] 
[INFO] --- compiler:2.3.2:compile (default-compile) @ dave-basic-webapp-ejb-project ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- resources:3.3.1:testResources (default-testResources) @ dave-basic-webapp-ejb-project ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/src/test/resources
[INFO] 
[INFO] --- compiler:2.3.2:testCompile (default-testCompile) @ dave-basic-webapp-ejb-project ---
[INFO] No sources to compile
[INFO] 
[INFO] --- surefire:3.2.2:test (default-test) @ dave-basic-webapp-ejb-project ---
[INFO] 
[INFO] --- war:3.3.1:war (default-war) @ dave-basic-webapp-ejb-project ---
[INFO] Packaging webapp
[INFO] Assembling webapp [dave-basic-webapp-ejb-project] in [/git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/basicWebappEjb]
[INFO] Processing war project
[INFO] Copying webapp resources [/git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/src/main/webapp]
[INFO] Building war: /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/basicWebappEjb.war
[INFO] 
[INFO] --- weblogic:14.1.2-0-0:deploy (default) @ dave-basic-webapp-ejb-project ---
[WARNING]  Parameter 'middlewareHome' (user property 'middlewareHome') is deprecated: This Mojo no longer requires a local server install.
[INFO] Command flags are: -noexit -deploy -username weblogic -password ******* -name basicWebappEjb -source /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/basicWebappEjb.war -verbose -adminurl t3://localhost:7001
weblogic.Deployer invoked with options:  -noexit -deploy -username weblogic -name basicWebappEjb -source /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/basicWebappEjb.war -verbose -adminurl t3://localhost:7001
<Nov 5, 2025, 9:21:03 PM Central European Standard Time> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating deploy operation for application, basicWebappEjb [archive: /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/basicWebappEjb.war], to configured targets.> 
Task 0 initiated: [Deployer:149026]deploy application basicWebappEjb on AdminServer.
Task 0 completed: [Deployer:149026]deploy application basicWebappEjb on AdminServer.
Target state: deploy completed on Server AdminServer

Target Assignments:
+ basicWebappEjb  AdminServer
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  8.488 s
[INFO] Finished at: 2025-11-05T21:21:07+01:00
[INFO] ------------------------------------------------------------------------

Check application in Weblogic remote console 

 

 

 

Sunday, October 5, 2025

Weblogic 14.1.2 start managed server with Admin Channel

 

HOWTO


See also 


Git

Keep domain wide administration port disabled





Configure custom Admin Channel on Admin  server 





Configure custom Admin Channel on managed server 





Start managed server with Admin Channel

  • startManagedWebLogic.sh managed_server_name admin_url (UNIX)


dave@dave:/app/domains/dave_domain/bin$ ./startManagedWebLogic.sh dave-managed https://localhost:9002
.
.
JAVA Memory arguments: -Xms256m -Xmx512m -XX:CompileThreshold=8000
.
CLASSPATH=/home/app/weblogic/wlserver/../oracle_common/modules/com.oracle.webservices.wls.wls-jaxrpc.jar::/home/app/weblogic/wlserver/server/lib/weblogic.jar:/home/app/weblogic/wlserver/../oracle_common/modules/thirdparty/ant-contrib-1.0b3.jar:/home/app/weblogic/wlserver/modules/features/oracle.wls.common.nodemanager.jar:/home/app/weblogic/wlserver/common/derby/lib/derbytools.jar:/home/app/weblogic/wlserver/common/derby/lib/derbyclient.jar:/home/app/weblogic/wlserver/common/derby/lib/derby.jar:/home/app/weblogic/wlserver/common/derby/lib/derbyshared.jar
.
PATH=/app/domains/dave_domain/bin:/home/app/weblogic/wlserver/server/bin:/home/app/weblogic/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/apache-ant/bin:/usr/lib/jvm/jdk-21.0.5-oracle-x64/bin:/usr/lib/jvm/jdk-21.0.5-oracle-x64/bin:/app/weblogic/oracle_common/modules/thirdparty/apache-maven_bundle/3.6.1.0.0/apache-maven-3.6.1//bin:/app/weblogic/wit/imagetool/bin:/app/weblogic-deploy/bin/:/usr/java/jdk-21/bin:/opt/google:/opt/jmc/jmc-8.3.1_linux-x64/JDK_Mission_Control:/app/weblogic/oracle_common/modules/thirdparty/apache-maven_bundle/3.6.1.0.0/apache-maven-3.6.1//bin:/app/weblogic/wit/imagetool/bin:/app/weblogic-deploy/bin/:/home/dave/.local/bin:/home/dave/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin
.
***************************************************
*  To start WebLogic Server, use a username and   *
*  password assigned to an admin-level user.  For *
*  server administration, use the WebLogic Server *
*  console at http://hostname:port/console        *
***************************************************
Starting WLS with line:
/usr/lib/jvm/jdk-21.0.5-oracle-x64/bin/java -server   -Xms256m -Xmx512m -XX:CompileThreshold=8000 -cp /home/app/weblogic/wlserver/server/lib/weblogic-launcher.jar -Dlaunch.use.env.classpath=true -Dweblogic.Name=dave-managed -Djava.security.policy=/home/app/weblogic/wlserver/server/lib/weblogic.policy  -Djava.system.class.loader=com.oracle.classloader.weblogic.LaunchClassLoader  -javaagent:/home/app/weblogic/wlserver/server/lib/debugpatch-agent.jar -da -Dwls.home=/home/app/weblogic/wlserver/server -Dweblogic.home=/home/app/weblogic/wlserver/server   -Dweblogic.management.server=https://localhost:9002   weblogic.Server
[0.009s][warning][cds] Archived non-system classes are disabled because the java.system.class.loader property is specified (value = "com.oracle.classloader.weblogic.LaunchClassLoader"). To use archived non-system classes, this property must not be set
<Oct 5, 2025, 1:54:28 PM Central European Summer Time> <Info> <Default> <BEA-000000> <JceConfig is unknown> 
<Oct 5, 2025, 1:54:28 PM Central European Summer Time> <Info> <Default> <BEA-000000> <FIPS compliant operation not available for configuration type OTHER> 
<Oct 5, 2025, 1:54:28 PM Central European Summer Time> <Info> <Default> <BEA-000000> <JceConfig is in non-FIPS mode> 
<Oct 5, 2025, 1:54:28 PM Central European Summer Time> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 21.0.5+9-LTS-239 from Oracle Corporation.> 
<Oct 5, 2025, 1:54:29 PM Central European Summer Time> <Info> <Security> <BEA-090065> <Getting boot identity from user.> 
Enter username to boot WebLogic server:weblogic    
Enter password to boot WebLogic server:
<Oct 5, 2025, 1:54:40 PM Central European Summer Time> <Warning> <Security> <BEA-090960> <The server's SSL configuration is not available. There will potentially be SSL handshake failures.> 
<Oct 5, 2025, 1:54:40 PM Central European Summer Time> <Warning> <Security> <BEA-090924> <JSSE has been selected by default, since the SSLMBean is not available.> 
<Oct 5, 2025, 1:54:40 PM Central European Summer Time> <Info> <Security> <BEA-090908> <Using the default WebLogic SSL Wildcard Hostname Verifier implementation.> 
<Oct 5, 2025, 1:54:41 PM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the pkcs12 keystore file /app/domains/dave_domain/security/DemoTrust.p12.> 
<Oct 5, 2025, 1:54:41 PM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /home/app/weblogic/wlserver/server/lib/DemoTrust.jks.> 
<Oct 5, 2025, 1:54:41 PM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /usr/lib/jvm/jdk-21.0.5-oracle-x64/lib/security/cacerts.> 
<Oct 5, 2025, 1:54:41 PM Central European Summer Time> <Info> <Management> <BEA-141107> <Version: WebLogic Server 14.1.2.0.0  Tue Nov 26 02:40:45 GMT 2024 2171472> 
<Oct 5, 2025, 1:54:41 PM Central European Summer Time> <Info> <Management> <BEA-141340> <Server starting with ProductionModeEnabled=false> 
<Oct 5, 2025, 1:54:41 PM Central European Summer Time> <Info> <Management> <BEA-141341> <Server starting with SecureModeEnabled=false> 
<Oct 5, 2025, 1:54:42 PM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.> 
<Oct 5, 2025, 1:54:42 PM Central European Summer Time> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool.> 
<Oct 5, 2025, 1:54:42,345 PM Central European Summer Time> <Notice> <Security> <BEA-090171> <Loading the identity certificate and private key stored under the alias DemoIdentity from the pkcs12 keystore file /app/domains/dave_domain/security/DemoIdentity.p12.> 
<Oct 5, 2025, 1:54:42,371 PM Central European Summer Time> <Notice> <LoggingService> <BEA-320400> <The log file /home/app/domains/dave_domain/servers/dave-managed/logs/dave-managed.log will be rotated. Reopen the log file if tailing has stopped. This can happen on some platforms, such as Windows.> 
<Oct 5, 2025, 1:54:42,371 PM Central European Summer Time> <Notice> <LoggingService> <BEA-320401> <The log file has been rotated to /home/app/domains/dave_domain/servers/dave-managed/logs/dave-managed.log00001. Log messages will continue to be logged in /home/app/domains/dave_domain/servers/dave-managed/logs/dave-managed.log.> 
<Oct 5, 2025, 1:54:42,380 PM Central European Summer Time> <Notice> <Log Management> <BEA-170019> <The server log file weblogic.logging.FileStreamHandler instance=303355457
Current log file=/home/app/domains/dave_domain/servers/dave-managed/logs/dave-managed.log
Rotation dir=/home/app/domains/dave_domain/servers/dave-managed/logs
 is opened. All server side log events will be written to this file.> 
<Oct 5, 2025, 1:54:42,410 PM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the pkcs12 keystore file /app/domains/dave_domain/security/DemoTrust.p12.> 
<Oct 5, 2025, 1:54:42,447 PM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /home/app/weblogic/wlserver/server/lib/DemoTrust.jks.> 
<Oct 5, 2025, 1:54:42,448 PM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /usr/lib/jvm/jdk-21.0.5-oracle-x64/lib/security/cacerts.> 
<Oct 5, 2025, 1:54:42,465 PM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the pkcs12 keystore file /app/domains/dave_domain/security/DemoTrust.p12.> 
<Oct 5, 2025, 1:54:42,495 PM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /home/app/weblogic/wlserver/server/lib/DemoTrust.jks.> 
<Oct 5, 2025, 1:54:42,501 PM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /usr/lib/jvm/jdk-21.0.5-oracle-x64/lib/security/cacerts.> 
<Oct 5, 2025, 1:54:44,453 PM Central European Summer Time> <Notice> <Security> <BEA-090946> <Security pre-initializing using security realm: myrealm> 
<Oct 5, 2025, 1:54:44,753 PM Central European Summer Time> <Notice> <Security> <BEA-090947> <Security post-initializing using security realm: myrealm> 
<Oct 5, 2025, 1:54:46,072 PM Central European Summer Time> <Notice> <Security> <BEA-090082> <Security initialized using administrative security realm: myrealm> 
<Oct 5, 2025, 1:54:46,213 PM Central European Summer Time> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://localhost:9200/jndi/weblogic.management.mbeanservers.runtime.> 
<Oct 5, 2025, 1:54:48,057 PM Central European Summer Time> <Warning> <Server> <BEA-002611> <The hostname "localhost", maps to multiple IP addresses: 127.0.0.1, 0:0:0:0:0:0:0:1.> 
<Oct 5, 2025, 1:54:48,057 PM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "dave-managed-admin" is now listening on 127.0.0.1:9200 for protocols admin, ldaps, https.> 
<Oct 5, 2025, 1:54:48,079 PM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY.> 
<Oct 5, 2025, 1:54:48,079 PM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.> 
<Oct 5, 2025, 1:54:48,124 PM Central European Summer Time> <Notice> <Log Management> <BEA-170036> <The Logging monitoring service timer has started to check for logged message counts every 30 seconds.> 
<Oct 5, 2025, 1:54:48,274 PM Central European Summer Time> <Notice> <Log Management> <BEA-170027> <The server has successfully established a connection with the Domain level Diagnostic Service.> 
<Oct 5, 2025, 1:54:48,394 PM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN.> 
<Oct 5, 2025, 1:54:48,459 PM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING.> 
<Oct 5, 2025, 1:54:48,522 PM Central European Summer Time> <Warning> <Server> <BEA-002611> <The hostname "dave", maps to multiple IP addresses: 192.168.0.115, 192.168.122.1, 192.168.49.1, 172.17.0.1, fe80:0:0:0:b1c0:455e:93e9:1ac4%2, 2a02:8308:a:5b00:0:0:0:bd2e, 2a02:8308:a:5b00:7090:cdc2:f15e:f0f0.> 
<Oct 5, 2025, 1:54:48,524 PM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[2]" is now listening on 2a02:8308:a:5b00:7090:cdc2:f15e:f0f0%enp0s31f6:9001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 1:54:48,525 PM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[7]" is now listening on 127.0.0.1:9001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 1:54:48,526 PM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000332> <Started the WebLogic Server Managed Server "dave-managed" for domain "dave_domain" running in development mode.> 
<Oct 5, 2025, 1:54:48,525 PM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[4]" is now listening on 192.168.49.1:9001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 1:54:48,529 PM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[6]" is now listening on 0:0:0:0:0:0:0:1%lo:9001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 1:54:48,532 PM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 2a02:8308:a:5b00:0:0:0:bd2e%enp0s31f6:9001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 1:54:48,533 PM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 192.168.0.115:9001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 1:54:48,537 PM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[3]" is now listening on 172.17.0.1:9001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 1:54:48,538 PM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[5]" is now listening on 192.168.122.1:9001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 1:54:48,640 PM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000360> <The server started in RUNNING mode.> 
<Oct 5, 2025, 1:54:48,653 PM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.> 



Runtime monitoring in Remote Console

config.xml with managed server

<server>
    <name>AdminServer</name>
    <ssl>
      <name>AdminServer</name>
    </ssl>
    <listen-address></listen-address>
    <network-access-point>
      <name>Admin</name>
      <protocol>admin</protocol>
      <listen-address>localhost</listen-address>
      <listen-port>9002</listen-port>
      <hostname-verification-ignored>true</hostname-verification-ignored>
    </network-access-point>
    <web-service>
      <name>AdminServer</name>
      <web-service-persistence>
        <name>AdminServer</name>
        <web-service-logical-store>
          <name>WseeStore</name>
          <persistence-strategy>LOCAL_ACCESS_ONLY</persistence-strategy>
          <request-buffering-queue-jndi-name>weblogic.wsee.BufferedRequestQueue</request-buffering-queue-jndi-name>
          <response-buffering-queue-jndi-name>weblogic.wsee.BufferedResponseQueue</response-buffering-queue-jndi-name>
        </web-service-logical-store>
      </web-service-persistence>
    </web-service>
  </server>
  <server>
    <name>dave-managed</name>
    <ssl>
      <enabled>false</enabled>
    </ssl>
    <listen-port>9001</listen-port>
    <listen-address xsi:nil="true"></listen-address>
    <network-access-point>
      <name>dave-managed-admin</name>
      <protocol>admin</protocol>
      <listen-address>localhost</listen-address>
      <listen-port>9200</listen-port>
    </network-access-point>
  </server>

Create domain on Weblogic 14.1.2 with Oracle JDK 21

HOWTO


GitHub


Check current version 

dave@dave:~$ cd /app/weblogic/wlserver/server/lib
dave@dave:/app/weblogic/wlserver/server/lib$ java -cp weblogic.jar weblogic.version

WebLogic Server 14.1.1.0.0  Thu Mar 26 03:15:09 GMT 2020 2000885

Use 'weblogic.version -verbose' to get subsystem information

Use 'weblogic.utils.Versions' to get version information for all modules


Instal Oracle JDK 21 

Verify that a certified JDK already exists on your system; the installer requires a certified JDK. See Oracle Fusion Middleware Supported System Configurations. To download the JDK, see About JDK Requirements for an Oracle Fusion Middleware Installation.


dave@dave:~$ java -version
java version "21.0.5" 2024-10-15 LTS
Java(TM) SE Runtime Environment (build 21.0.5+9-LTS-239)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.5+9-LTS-239, mixed mode, sharing)

Install Weblogic 14.1.2



Unzip 
$ unzip -l  ~/Downloads/V1045131-01.zip 
Archive:  /home/dave/Downloads/V1045131-01.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
686826498  12-05-2024 23:27   fmw_14.1.2.0.0_wls.jar
---------                     -------
686826498                     1 file

Install
dave@dave:/app$ java -jar fmw_14.1.2.0.0_wls.jar

            
Launcher log file is /tmp/OraInstall2025-10-05_09-05-18AM/launcher2025-10-05_09-05-18AM.log.
Extracting the installer . . . . . . Done
Checking if CPU speed is above 300 MHz.   Actual 2599.988 MHz    Passed
Checking monitor: must be configured to display at least 256 colors.   Actual 16777216    Passed
Checking swap space: must be greater than 512 MB.   Actual 8191 MB    Passed
Checking temp space: must be greater than 300 MB.   Actual 7234 MB    Passed
Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2025-10-05_09-05-18AM
Log: /tmp/OraInstall2025-10-05_09-05-18AM/install2025-10-05_09-05-18AM.log
Logs successfully copied to /home/dave/oraInventory/logs.







Start admin server



dave@dave:/app/domains/dave_domain$ ./startWebLogic.sh 
.
.
JAVA Memory arguments: -Xms256m -Xmx512m -XX:CompileThreshold=8000
.
CLASSPATH=/home/app/weblogic/wlserver/../oracle_common/modules/com.oracle.webservices.wls.wls-jaxrpc.jar::/home/app/weblogic/wlserver/server/lib/weblogic.jar:/home/app/weblogic/wlserver/../oracle_common/modules/thirdparty/ant-contrib-1.0b3.jar:/home/app/weblogic/wlserver/modules/features/oracle.wls.common.nodemanager.jar::/home/app/weblogic/wlserver/common/derby/lib/derbynet.jar:/home/app/weblogic/wlserver/common/derby/lib/derbytools.jar:/home/app/weblogic/wlserver/common/derby/lib/derbyclient.jar:/home/app/weblogic/wlserver/common/derby/lib/derby.jar:/home/app/weblogic/wlserver/common/derby/lib/derbyshared.jar:/home/app/weblogic/wlserver/common/derby/lib/derbyoptionaltools.jar
.
PATH=/app/domains/dave_domain/bin:/home/app/weblogic/wlserver/server/bin:/home/app/weblogic/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/apache-ant/bin:/usr/lib/jvm/jdk-21.0.5-oracle-x64/bin:/usr/lib/jvm/jdk-21.0.5-oracle-x64/bin:/app/weblogic/oracle_common/modules/thirdparty/apache-maven_bundle/3.6.1.0.0/apache-maven-3.6.1//bin:/app/weblogic/wit/imagetool/bin:/app/weblogic-deploy/bin/:/usr/java/jdk-21/bin:/opt/google:/opt/jmc/jmc-8.3.1_linux-x64/JDK_Mission_Control:/app/weblogic/oracle_common/modules/thirdparty/apache-maven_bundle/3.6.1.0.0/apache-maven-3.6.1//bin:/app/weblogic/wit/imagetool/bin:/app/weblogic-deploy/bin/:/home/dave/.local/bin:/home/dave/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin
.
***************************************************
*  To start WebLogic Server, use a username and   *
*  password assigned to an admin-level user.  For *
*  server administration, use the WebLogic Server *
*  console at http://hostname:port/console        *
***************************************************
Starting WLS with line:
/usr/lib/jvm/jdk-21.0.5-oracle-x64/bin/java -server   -Xms256m -Xmx512m -XX:CompileThreshold=8000 -cp /home/app/weblogic/wlserver/server/lib/weblogic-launcher.jar -Dlaunch.use.env.classpath=true -Dweblogic.Name=AdminServer -Djava.security.policy=/home/app/weblogic/wlserver/server/lib/weblogic.policy  -Djava.system.class.loader=com.oracle.classloader.weblogic.LaunchClassLoader  -javaagent:/home/app/weblogic/wlserver/server/lib/debugpatch-agent.jar -da -Dwls.home=/home/app/weblogic/wlserver/server -Dweblogic.home=/home/app/weblogic/wlserver/server      weblogic.Server
[0.016s][warning][cds] Archived non-system classes are disabled because the java.system.class.loader property is specified (value = "com.oracle.classloader.weblogic.LaunchClassLoader"). To use archived non-system classes, this property must not be set
<Oct 5, 2025, 9:13:26 AM Central European Summer Time> <Info> <Default> <BEA-000000> <JceConfig is unknown> 
<Oct 5, 2025, 9:13:26 AM Central European Summer Time> <Info> <Default> <BEA-000000> <FIPS compliant operation not available for configuration type OTHER> 
<Oct 5, 2025, 9:13:26 AM Central European Summer Time> <Info> <Default> <BEA-000000> <JceConfig is in non-FIPS mode> 
<Oct 5, 2025, 9:13:27 AM Central European Summer Time> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 21.0.5+9-LTS-239 from Oracle Corporation.> 
<Oct 5, 2025, 9:13:27 AM Central European Summer Time> <Info> <Management> <BEA-141107> <Version: WebLogic Server 14.1.2.0.0  Tue Nov 26 02:40:45 GMT 2024 2171472> 
<Oct 5, 2025, 9:13:28 AM Central European Summer Time> <Info> <Management> <BEA-141340> <Server starting with ProductionModeEnabled=false> 
<Oct 5, 2025, 9:13:28 AM Central European Summer Time> <Info> <Management> <BEA-141341> <Server starting with SecureModeEnabled=false> 
<Oct 5, 2025, 9:13:28 AM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.> 
<Oct 5, 2025, 9:13:28 AM Central European Summer Time> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool.> 
<Oct 5, 2025, 9:13:28,654 AM Central European Summer Time> <Notice> <Log Management> <BEA-170019> <The server log file weblogic.logging.FileStreamHandler instance=1415466851
Current log file=/home/app/domains/dave_domain/servers/AdminServer/logs/AdminServer.log
Rotation dir=/home/app/domains/dave_domain/servers/AdminServer/logs
 is opened. All server side log events will be written to this file.> 
<Oct 5, 2025, 9:13:28,783 AM Central European Summer Time> <Notice> <Security> <BEA-090946> <Security pre-initializing using security realm: myrealm> 
<Oct 5, 2025, 9:13:29,295 AM Central European Summer Time> <Notice> <Security> <BEA-090947> <Security post-initializing using security realm: myrealm> 
<Oct 5, 2025, 9:13:29,985 AM Central European Summer Time> <Notice> <Security> <BEA-090082> <Security initialized using administrative security realm: myrealm> 
<Oct 5, 2025, 9:13:30,235 AM Central European Summer Time> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://192.168.0.115:9002/jndi/weblogic.management.mbeanservers.runtime.> 
<Oct 5, 2025, 9:13:30,544 AM Central European Summer Time> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://192.168.0.115:9002/jndi/weblogic.management.mbeanservers.domainruntime.> 
<Oct 5, 2025, 9:13:30,696 AM Central European Summer Time> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://192.168.0.115:9002/jndi/weblogic.management.mbeanservers.edit.> 
<Oct 5, 2025, 9:13:32,359 AM Central European Summer Time> <Notice> <Security> <BEA-090171> <Loading the identity certificate and private key stored under the alias DemoIdentity from the pkcs12 keystore file /app/domains/dave_domain/security/DemoIdentity.p12.> 
<Oct 5, 2025, 9:13:32,463 AM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the pkcs12 keystore file /app/domains/dave_domain/security/DemoTrust.p12.> 
<Oct 5, 2025, 9:13:32,484 AM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /home/app/weblogic/wlserver/server/lib/DemoTrust.jks.> 
<Oct 5, 2025, 9:13:32,486 AM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /usr/lib/jvm/jdk-21.0.5-oracle-x64/lib/security/cacerts.> 
<Oct 5, 2025, 9:13:32,498 AM Central European Summer Time> <Warning> <Server> <BEA-002611> <The hostname "dave", maps to multiple IP addresses: 192.168.0.115, 192.168.122.1, 192.168.49.1, 172.17.0.1, fe80:0:0:0:b1c0:455e:93e9:1ac4%2, 2a02:8308:a:5b00:0:0:0:bd2e, 2a02:8308:a:5b00:7090:cdc2:f15e:f0f0.> 
<Oct 5, 2025, 9:13:32,501 AM Central European Summer Time> <Warning> <Server> <BEA-002611> <The hostname "localhost", maps to multiple IP addresses: 127.0.0.1, 0:0:0:0:0:0:0:1.> 
<Oct 5, 2025, 9:13:32,502 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultAdministration" is now listening on 192.168.0.115:9002 for protocols admin, ldaps, https.> 
<Oct 5, 2025, 9:13:32,504 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultAdministration[1]" is now listening on 2a02:8308:a:5b00:0:0:0:bd2e%enp0s31f6:9002 for protocols admin, ldaps, https.> 
<Oct 5, 2025, 9:13:32,505 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultAdministration[2]" is now listening on 2a02:8308:a:5b00:7090:cdc2:f15e:f0f0%enp0s31f6:9002 for protocols admin, ldaps, https.> 
<Oct 5, 2025, 9:13:32,505 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultAdministration[3]" is now listening on 172.17.0.1:9002 for protocols admin, ldaps, https.> 
<Oct 5, 2025, 9:13:32,506 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultAdministration[4]" is now listening on 192.168.49.1:9002 for protocols admin, ldaps, https.> 
<Oct 5, 2025, 9:13:32,507 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultAdministration[5]" is now listening on 192.168.122.1:9002 for protocols admin, ldaps, https.> 
<Oct 5, 2025, 9:13:32,508 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultAdministration[6]" is now listening on 0:0:0:0:0:0:0:1%lo:9002 for protocols admin, ldaps, https.> 
<Oct 5, 2025, 9:13:32,508 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultAdministration[7]" is now listening on 127.0.0.1:9002 for protocols admin, ldaps, https.> 
<Oct 5, 2025, 9:13:32,526 AM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY.> 
<Oct 5, 2025, 9:13:32,527 AM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.> 
<Oct 5, 2025, 9:13:32,585 AM Central European Summer Time> <Notice> <Log Management> <BEA-170036> <The Logging monitoring service timer has started to check for logged message counts every 30 seconds.> 
<Oct 5, 2025, 9:13:34,817 AM Central European Summer Time> <Notice> <Log Management> <BEA-170027> <The server has successfully established a connection with the Domain level Diagnostic Service.> 
<Oct 5, 2025, 9:13:34,894 AM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN.> 
Oct 05, 2025 9:13:34 AM weblogic.wsee.jaxws.provider.state.persistence.LogicalStoreStateManagerProvider <init>
INFO: Constructing LogicalStoreStateManagerProvider@1716684370, providerName=WseeStore, storeName=WseeStore]
Oct 05, 2025 9:13:34 AM weblogic.wsee.runtime.JMSStoreRoutableIDMapper$LogicalStoreInfo <init>
INFO: Constructing LogicalStoreInfo@966438498 [name=WseeStore]
Oct 05, 2025 9:13:34 AM weblogic.wsee.runtime.JMSStoreRoutableIDMapper registerForJMSDestinationAvailability
INFO: pname=null JMSDestinationAvailabilityHelper register for weblogic.wsee.BufferedRequestQueue:weblogic.wsee.BufferedRequestQueue
Oct 05, 2025 9:13:34 AM weblogic.wsee.runtime.JMSStoreRoutableIDMapper registerForJMSDestinationAvailability
INFO: pname=null JMSDestinationAvailabilityHelper register for weblogic.wsee.BufferedResponseQueue:weblogic.wsee.BufferedResponseQueue
<Oct 5, 2025, 9:13:34,967 AM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING.> 
<Oct 5, 2025, 9:13:35,031 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[2]" is now listening on 2a02:8308:a:5b00:7090:cdc2:f15e:f0f0%enp0s31f6:7002 for protocols iiops, t3s, ldaps, https.> 
<Oct 5, 2025, 9:13:35,032 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[2]" is now listening on 2a02:8308:a:5b00:7090:cdc2:f15e:f0f0%enp0s31f6:7001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 9:13:35,033 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[7]" is now listening on 127.0.0.1:7002 for protocols iiops, t3s, ldaps, https.> 
<Oct 5, 2025, 9:13:35,033 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[7]" is now listening on 127.0.0.1:7001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 9:13:35,034 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 2a02:8308:a:5b00:0:0:0:bd2e%enp0s31f6:7001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 9:13:35,035 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[1]" is now listening on 2a02:8308:a:5b00:0:0:0:bd2e%enp0s31f6:7002 for protocols iiops, t3s, ldaps, https.> 
<Oct 5, 2025, 9:13:35,035 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[5]" is now listening on 192.168.122.1:7002 for protocols iiops, t3s, ldaps, https.> 
<Oct 5, 2025, 9:13:35,036 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure" is now listening on 192.168.0.115:7002 for protocols iiops, t3s, ldaps, https.> 
<Oct 5, 2025, 9:13:35,037 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 192.168.0.115:7001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 9:13:35,037 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[6]" is now listening on 0:0:0:0:0:0:0:1%lo:7002 for protocols iiops, t3s, ldaps, https.> 
<Oct 5, 2025, 9:13:35,037 AM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000331> <Started the WebLogic Server Administration Server "AdminServer" for domain "dave_domain" running in development mode.> 
<Oct 5, 2025, 9:13:35,038 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[4]" is now listening on 192.168.49.1:7001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 9:13:35,039 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[6]" is now listening on 0:0:0:0:0:0:0:1%lo:7001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 9:13:35,039 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[4]" is now listening on 192.168.49.1:7002 for protocols iiops, t3s, ldaps, https.> 
<Oct 5, 2025, 9:13:35,040 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[3]" is now listening on 172.17.0.1:7001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 9:13:35,041 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[3]" is now listening on 172.17.0.1:7002 for protocols iiops, t3s, ldaps, https.> 
<Oct 5, 2025, 9:13:35,043 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Default[5]" is now listening on 192.168.122.1:7001 for protocols iiop, t3, ldap, snmp, http.> 
<Oct 5, 2025, 9:13:35,118 AM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000360> <The server started in RUNNING mode.> 
<Oct 5, 2025, 9:13:35,130 AM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.> 
Oct 05, 2025 9:13:35 AM weblogic.wsee.runtime.JMSStoreRoutableIDMapper getDDMemberInfosFromDestinationChange
INFO: add PhysicalStoreInfo PhysicalStoreInfo [_physStoreName=WseeJaxwsFileStore, _serverName=AdminServer]
Oct 05, 2025 9:13:35 AM weblogic.wsee.runtime.JMSStoreRoutableIDMapper getDDMemberInfosFromDestinationChange
INFO: add PhysicalStoreInfo PhysicalStoreInfo [_physStoreName=WseeJaxwsFileStore, _serverName=AdminServer]
Oct 05, 2025 9:13:35 AM weblogic.wsee.runtime.JMSStoreRoutableIDMapper onDestinationsAvailable
INFO: Destination Available processing logicalStore: WseeStore for PhysicalStoreInfo [_physStoreName=WseeJaxwsFileStore, _serverName=AdminServer]
Oct 05, 2025 9:13:35 AM weblogic.wsee.runtime.JMSStoreRoutableIDMapper onDestinationsAvailable
INFO: Destination Available processing logicalStore: WseeStore for PhysicalStoreInfo [_physStoreName=WseeJaxwsFileStore, _serverName=AdminServer]
Oct 05, 2025 9:13:35 AM weblogic.wsee.runtime.JMSStoreRoutableIDMapper$LogicalStoreInfo addPhysicalStore
INFO: Added physical store for server AdminServer PhysicalStore='WseeJaxwsFileStore' Current physical store count: 1
Oct 05, 2025 9:13:35 AM weblogic.wsee.runtime.JMSStoreRoutableIDMapper notifyServerSetListeners
INFO: 2 can not find  ServerSetListener




Config.xml


dave@dave:/app$ cat  /app/domains/dave_domain/config/config.xml 
<?xml version="1.0" encoding="UTF-8"?>
<domain xsi:schemaLocation="http://xmlns.oracle.com/weblogic/security/wls http://xmlns.oracle.com/weblogic/security/wls/1.0/wls.xsd http://xmlns.oracle.com/weblogic/domain http://xmlns.oracle.com/weblogic/1.0/domain.xsd http://xmlns.oracle.com/weblogic/security http://xmlns.oracle.com/weblogic/1.0/security.xsd http://xmlns.oracle.com/weblogic/security/xacml http://xmlns.oracle.com/weblogic/security/xacml/1.0/xacml.xsd" xmlns="http://xmlns.oracle.com/weblogic/domain" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <name>dave_domain</name>
  <domain-version>14.1.2.0.0</domain-version>
  <security-configuration xmlns:xacml="http://xmlns.oracle.com/weblogic/security/xacml" xmlns:pas="http://xmlns.oracle.com/weblogic/security/providers/passwordvalidator">
    <name>dave_domain</name>
    <realm>
      <sec:authentication-provider xsi:type="wls:default-authenticatorType">
        <sec:name>DefaultAuthenticator</sec:name>
      </sec:authentication-provider>
      <sec:authentication-provider xsi:type="wls:default-identity-asserterType">
        <sec:name>DefaultIdentityAsserter</sec:name>
        <sec:active-type>AuthenticatedUser</sec:active-type>
        <sec:active-type>weblogic-jwt-token</sec:active-type>
      </sec:authentication-provider>
      <sec:role-mapper xsi:type="xacml:xacml-role-mapperType">
        <sec:name>XACMLRoleMapper</sec:name>
      </sec:role-mapper>
      <sec:authorizer xsi:type="xacml:xacml-authorizerType">
        <sec:name>XACMLAuthorizer</sec:name>
      </sec:authorizer>
      <sec:adjudicator xsi:type="wls:default-adjudicatorType">
        <sec:name>DefaultAdjudicator</sec:name>
      </sec:adjudicator>
      <sec:credential-mapper xsi:type="wls:default-credential-mapperType">
        <sec:name>DefaultCredentialMapper</sec:name>
      </sec:credential-mapper>
      <sec:cert-path-provider xsi:type="wls:web-logic-cert-path-providerType">
        <sec:name>WebLogicCertPathProvider</sec:name>
      </sec:cert-path-provider>
      <sec:cert-path-builder>WebLogicCertPathProvider</sec:cert-path-builder>
      <sec:name>myrealm</sec:name>
      <sec:password-validator xsi:type="pas:system-password-validatorType">
        <sec:name>SystemPasswordValidator</sec:name>
        <pas:min-password-length>8</pas:min-password-length>
        <pas:min-numeric-or-special-characters>1</pas:min-numeric-or-special-characters>
      </sec:password-validator>
    </realm>
    <default-realm>myrealm</default-realm>
    <credential-encrypted>{AES256}wLRjNyZr9HwkpIvZnt7prR1F0F58X1w55Rt0o2cUG1TsYT/fB5G3umETxFA8Ha30NEvPnXmPhKzVp7xAYVmfNe6jg4gGugEmZqQ7uvi2xR0BbXo60GxPSRkuVCCvHCa+</credential-encrypted>
    <node-manager-username>weblogic</node-manager-username>
    <node-manager-password-encrypted>{AES256}4uKCZCiWlVnsqKKDIE0PuTPZ3AaqVPaW5D8mJFw2zzw=</node-manager-password-encrypted>
  </security-configuration>
  <server>
    <name>AdminServer</name>
    <ssl>
      <name>AdminServer</name>
    </ssl>
    <listen-address/>
    <web-service>
      <name>AdminServer</name>
      <web-service-persistence>
        <name>AdminServer</name>
        <web-service-logical-store>
          <name>WseeStore</name>
          <persistence-strategy>LOCAL_ACCESS_ONLY</persistence-strategy>
          <request-buffering-queue-jndi-name>weblogic.wsee.BufferedRequestQueue</request-buffering-queue-jndi-name>
          <response-buffering-queue-jndi-name>weblogic.wsee.BufferedResponseQueue</response-buffering-queue-jndi-name>
        </web-service-logical-store>
      </web-service-persistence>
    </web-service>
  </server>
  <embedded-ldap>
    <name>dave_domain</name>
    <credential-encrypted>{AES256}DEcZ24F0BPrv+9aNTYyBzUj2M0VZ7cMcL0ifWbTli8/0XHtLR4NNVmfFTxlejbEO</credential-encrypted>
  </embedded-ldap>
  <administration-port-enabled>true</administration-port-enabled>
  <configuration-version>14.1.2.0.0</configuration-version>
  <app-deployment>
    <name>state-management-provider-memory-rar</name>
    <target>AdminServer</target>
    <module-type>rar</module-type>
    <source-path>/home/app/weblogic/oracle_common/modules/com.oracle.state-management.state-management-provider-memory-rar-impl.rar</source-path>
    <staging-mode>nostage</staging-mode>
  </app-deployment>
  <jms-server>
    <name>WseeJaxwsJmsServer</name>
    <target>AdminServer</target>
    <persistent-store>WseeJaxwsFileStore</persistent-store>
  </jms-server>
  <jms-server>
    <name>WseeJmsServer</name>
    <target>AdminServer</target>
    <persistent-store>WseeFileStore</persistent-store>
  </jms-server>
  <jms-server>
    <name>WseeSoapjmsJmsServer</name>
    <target>AdminServer</target>
    <persistent-store>WseeSoapjmsFileStore</persistent-store>
  </jms-server>
  <self-tuning>
    <work-manager>
      <name>weblogic.wsee.jaxws.mdb.DispatchPolicy</name>
      <target>AdminServer</target>
    </work-manager>
    <work-manager>
      <name>weblogic.wsee.mdb.DispatchPolicy</name>
      <target>AdminServer</target>
    </work-manager>
  </self-tuning>
  <file-store>
    <name>WseeJaxwsFileStore</name>
    <directory>WseeJaxwsFileStore</directory>
    <target>AdminServer</target>
  </file-store>
  <file-store>
    <name>WseeFileStore</name>
    <directory>WseeFileStore</directory>
    <target>AdminServer</target>
  </file-store>
  <file-store>
    <name>WseeSoapjmsFileStore</name>
    <directory>WseeSoapjmsFileStore</directory>
    <target>AdminServer</target>
  </file-store>
  <jms-system-resource>
    <name>WseeJaxwsJmsModule</name>
    <target>AdminServer</target>
    <sub-deployment>
      <name>WseeJaxwsJmsServerSub</name>
      <target>WseeJaxwsJmsServer</target>
    </sub-deployment>
    <descriptor-file-name>jms/wseejaxwsjmsmodule-jms.xml</descriptor-file-name>
  </jms-system-resource>
  <jms-system-resource>
    <name>WseeJmsModule</name>
    <target>AdminServer</target>
    <sub-deployment>
      <name>BEA_JMS_MODULE_SUBDEPLOYMENT_WSEEJMSServer</name>
      <target>WseeJmsServer</target>
    </sub-deployment>
    <descriptor-file-name>jms/wseejmsmodule-jms.xml</descriptor-file-name>
  </jms-system-resource>
  <jms-system-resource>
    <name>WseeSoapjmsJmsModule</name>
    <target>AdminServer</target>
    <sub-deployment>
      <name>WseeSoapjmsJmsServerSub</name>
      <target>WseeSoapjmsJmsServer</target>
    </sub-deployment>
    <descriptor-file-name>jms/wseesoapjmsmodule-jms.xml</descriptor-file-name>
  </jms-system-resource>
  <admin-server-name>AdminServer</admin-server-name>
  <saf-agent>
    <name>ReliableWseeJaxwsSAFAgent</name>
    <target>AdminServer</target>
    <store>WseeJaxwsFileStore</store>
  </saf-agent>
  <saf-agent>
    <name>ReliableWseeSAFAgent</name>
    <target>AdminServer</target>
    <store>WseeFileStore</store>
  </saf-agent>
  <ssl-enabled>true</ssl-enabled>
</domain>

Keystores - PKCS12 or JKS


 For PKCS12 keystores, keytool does not support different keystore and key passwords.
 Secure domain - use SSL Keystores Obtain properly signed certificate via CSR 

JKS

keytool -genkeypair -alias server_cert -keyalg RSA -sigalg SHA384withRSA -keysize 3072 -validity 365 -dname "CN=server.avitek.com,OU=Support,O=Avitek,L=Bangalore,ST=Karnataka,C=IN" -storetype JKS -storepass Welcome1 -keypass Welcome1 -keystore identity.jks

keytool -export -alias server_cert -file root.cer -keystore identity.jks -storepass Welcome1

keytool -import -v -noprompt -trustcacerts -alias root.cert -file root.cer -storetype JKS -keystore trust.jks -storepass Welcome1

PKCS12

keytool -genkeypair -alias server_cert -keyalg RSA -sigalg SHA384withRSA -keysize 3072 -validity 365 -dname "CN=server.avitek.com,OU=Support,O=Avitek,L=Bangalore,ST=Karnataka,C=KA" -storepass Welcome1 -keypass Welcome1 -keystore identity.p12

keytool -export -alias server_cert -file root.cer -keystore identity.p12 -storepass Welcome1

keytool -import -v -noprompt -trustcacerts -alias root.cert -file root.cer -keystore trust.p12 -storepass Welcome1

CA truststore

DemoTrustKeyStorePassPhrase

dave@dave:/app/weblogic$ keytool -list -keystore ./wlserver/server/lib/DemoTrust.jks
Enter keystore password:  

*****************  WARNING WARNING WARNING  *****************
* The integrity of the information stored in your keystore  *
* has NOT been verified!  In order to verify its integrity, *
* you must provide your keystore password.                  *
*****************  WARNING WARNING WARNING  *****************

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

wlscertgenca, Dec 2, 2012, trustedCertEntry, 
Certificate fingerprint (SHA-256): 57:10:7C:2C:B3:07:B9:8B:F8:FD:EB:69:99:36:53:03:7A:E1:E7:CB:D3:7A:E7:CF:30:F3:B3:ED:F3:42:0A:D7

DemoIdentity

DOMAIN_HOME/security/DemoCerts.props 



dave@dave:/app/weblogic$ find /app/domains/dave_domain/ -name DemoIdentity.p12 
/app/domains/dave_domain/security/DemoIdentity.p12
dave@dave:/app/weblogic$ keytool -list -keystore /app/domains/dave_domain/security/DemoIdentity.p12
Enter keystore password:  

*****************  WARNING WARNING WARNING  *****************
* The integrity of the information stored in your keystore  *
* has NOT been verified!  In order to verify its integrity, *
* you must provide your keystore password.                  *
*****************  WARNING WARNING WARNING  *****************

Keystore type: PKCS12
Keystore provider: SUN

Your keystore contains 1 entry

demoidentity, Oct 5, 2025, PrivateKeyEntry, 
Certificate chain length: 0

Demo keystore passwords
dave@dave:/app/weblogic$ find /app/domains/dave_domain/ -name DemoCerts.props 
/app/domains/dave_domain/security/DemoCerts.props
dave@dave:/app/weblogic$ cat /app/domains/dave_domain/security/DemoCerts.props
#WebLogic User Configuration File; 2
#Sun Oct 05 09:10:56 CEST 2025
weblogic.security.DemoCACertificate=/app/domains/dave_domain/security/democacert.der
weblogic.security.DemoCAPrivateKey=/app/domains/dave_domain/security/democakey.der
weblogic.security.DemoCAPrivateKeyPassPhrase={AES256}ElpnZY1KC6DxJmXy8hPfnOr5rOh90wycyg+6HTTfRsUI2uIb6kN9xi3uBK4sUNIthKhrRa9namNKw7VkXB3U2Q\=\=
weblogic.security.DemoIdentityKeyStore=/app/domains/dave_domain/security/DemoIdentity.p12
weblogic.security.DemoIdentityKeyStoreAlias=DemoIdentity
weblogic.security.DemoIdentityKeyStorePassPhrase={AES256}IT7turw8Kw4BXgQhGuCWuNVPqIoIiF12XI/diC6BDO92Yl0OESNs/ptJnNK3vumyixx7U3C9Lz0n1B5TF3K8rw\=\=
weblogic.security.DemoIdentityKeyStoreType=pkcs12
weblogic.security.DemoIdentityPrivateKeyPassPhrase={AES256}gOybATaMsEKFwffWsu9F5ALMrldWt+O0MEd0peGxiBTOI5r3mIzyn8UU0DF9nxBtQa+t2JwwxJpbgfEXBSoYvg\=\=
weblogic.security.DemoTrustKeyStore=/app/domains/dave_domain/security/DemoTrust.p12
weblogic.security.DemoTrustKeyStorePassPhrase={AES256}EJ0dKjKO2dq3Pei1y0AbCoRuNHfKX26IDLZjcI4DsqXSu/zwSCjFYFKXvdJleRtH
weblogic.security.DemoTrustKeyStoreType=pkcs12

Open console https://dave:9002/console 









 Download remote console

Download RPM  file 


dave@dave:/app$ sudo dnf install weblogic-remote-console-2.4.17-linux.rpm
Updating and loading repositories:
 RPM Fusion for Fedora 41 - Nonfree - Updates                                                                                                                                                                                                                                         100% |   6.9 KiB/s |   8.4 KiB |  00m01s
 RPM Fusion for Fedora 41 - Nonfree - Steam                                                                                                                                                                                                                                           100% |   7.4 KiB/s |   8.3 KiB |  00m01s
 Fedora 41 - x86_64                                                                                                                                                                                                                                                                   100% |  25.3 KiB/s |  26.4 KiB |  00m01s
 RPM Fusion for Fedora 41 - Free - Updates                                                                                                                                                                                                                                            100% |   9.0 KiB/s |   8.3 KiB |  00m01s
 RPM Fusion for Fedora 41 - Nonfree - NVIDIA Driver                                                                                                                                                                                                                                   100% |  10.2 KiB/s |   8.6 KiB |  00m01s
 Hashicorp Stable - x86_64                                                                                                                                                                                                                                                            100% |   2.1 KiB/s |   1.5 KiB |  00m01s
 Google Cloud SDK                                                                                                                                                                                                                                                                     100% |   2.0 KiB/s |   1.4 KiB |  00m01s
 Kubernetes                                                                                                                                                                                                                                                                           100% |   2.6 KiB/s |   1.8 KiB |  00m01s
 google-chrome                                                                                                                                                                                                                                                                        100% |   2.1 KiB/s |   1.3 KiB |  00m01s
 Visual Studio Code                                                                                                                                                                                                                                                                   100% |   3.0 KiB/s |   1.5 KiB |  00m01s
 Fedora 41 - x86_64 - Updates                                                                                                                                                                                                                                                         100% |  11.1 KiB/s |   8.7 KiB |  00m01s
 Copr repo for PyCharm owned by phracek                                                                                                                                                                                                                                               100% |   4.4 KiB/s |   2.1 KiB |  00m00s
Repositories loaded.
Package                                                                                                        Arch                   Version                                                                                                        Repository                                                           Size
Installing:
 weblogic-remote-console                                                                                       x86_64                 2.4.17-1                                                                                                       @commandline                                                    453.6 MiB

Transaction Summary:
 Installing:         1 package

Total size of inbound packages is 180 MiB. Need to download 0 B.
After this operation, 454 MiB extra will be used (install 454 MiB, remove 0 B).
Is this ok [y/N]: y
Running transaction
[1/3] Verify package files                                                                                                                                                                                                                                                            100% |   1.0   B/s |   1.0   B |  00m01s
[2/3] Prepare transaction                                                                                                                                                                                                                                                             100% |   2.0   B/s |   1.0   B |  00m00s
[3/3] Installing weblogic-remote-console-0:2.4.17-1.x86_64                                                                                                                                                                                                                            100% |  27.6 MiB/s | 453.6 MiB |  00m16s
>>> Running %post scriptlet: weblogic-remote-console-0:2.4.17-1.x86_64                                                                                                                                                                                                                                                        
>>> Finished %post scriptlet: weblogic-remote-console-0:2.4.17-1.x86_64                                                                                                                                                                                                                                                       
>>> Scriptlet output:                                                                                                                                                                                                                                                                                                         
>>> update-alternatives is /sbin/update-alternatives                                                                                                                                                                                                                                                                          
>>>                                                                                                                                                                                                                                                                                                                           
Warning: skipped OpenPGP checks for 1 package from repository: @commandline
Complete!



Depending on setup use default 7001 port or Admin channel port 9002


Connected to Admin Console 






Configure admin channel

 





<Oct 5, 2025, 10:35:37,609 AM Central European Summer Time> <Notice> <Security> <BEA-090171> <Loading the identity certificate and private key stored under the alias DemoIdentity from the pkcs12 keystore file /app/domains/dave_domain/security/DemoIdentity.p12.> 
<Oct 5, 2025, 10:35:37,650 AM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the pkcs12 keystore file /app/domains/dave_domain/security/DemoTrust.p12.> 
<Oct 5, 2025, 10:35:37,663 AM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /home/app/weblogic/wlserver/server/lib/DemoTrust.jks.> 
<Oct 5, 2025, 10:35:37,664 AM Central European Summer Time> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /usr/lib/jvm/jdk-21.0.5-oracle-x64/lib/security/cacerts.> 
<Oct 5, 2025, 10:35:37,671 AM Central European Summer Time> <Notice> <Server> <BEA-002613> <Channel "Admin" is now listening on 127.0.0.1:9002 for protocols admin, ldaps, https.> 

config.xml with separately configured admin channel

<server>
    <name>AdminServer</name>
    <ssl>
      <name>AdminServer</name>
    </ssl>
    <listen-address></listen-address>
    <network-access-point>
      <name>Admin</name>
      <protocol>admin</protocol>
      <listen-address>localhost</listen-address>
      <listen-port>9002</listen-port>
      <hostname-verification-ignored>true</hostname-verification-ignored>
    </network-access-point>
    <web-service>
      <name>AdminServer</name>
      <web-service-persistence>
        <name>AdminServer</name>
        <web-service-logical-store>
          <name>WseeStore</name>
          <persistence-strategy>LOCAL_ACCESS_ONLY</persistence-strategy>
          <request-buffering-queue-jndi-name>weblogic.wsee.BufferedRequestQueue</request-buffering-queue-jndi-name>
          <response-buffering-queue-jndi-name>weblogic.wsee.BufferedResponseQueue</response-buffering-queue-jndi-name>
        </web-service-logical-store>
      </web-service-persistence>
    </web-service>
  </server>
  <embedded-ldap>
    <name>dave_domain</name>
    <credential-encrypted>{AES256}DEcZ24F0BPrv+9aNTYyBzUj2M0VZ7cMcL0ifWbTli8/0XHtLR4NNVmfFTxlejbEO</credential-encrypted>
  </embedded-ldap>
  <administration-port-enabled>false</administration-port-enabled>
  <configuration-version>14.1.2.0.0</configuration-version>