Tuesday Mar 10, 2015

Weblogic URL Redirect to Context Path

To visit web application deployed in Weblogic, we usually access it through its context path like http://server/myapp . But many people expect the URL to be friendly and short enough as http://server only. Here is a very simple solution, deploy a separate simple web application with root context-root to achieve.[Read More]

Wednesday Feb 25, 2015

Protect JMX Agent against Anonymous Access

Many Java/JEE applications open the JMX interface/port to external for tuning or monitor purpose and most of them allow anonymous access. That is to say anyone knows the remote hostname and its JMX port can access/modify all exposed MBeans. I will show how to authenticate JMX access with file-based password and a customized JMXAuthenticator.[Read More]

Thursday Feb 12, 2015

Troubleshooting com.agile.ui.web.security.WebSecurityException

ESAPI is an open source used by Oracle Agile Web Client to protect Web application's security, avoid kinds of web attack like XSS, Injection, CSRF and so on. This API component must be present and your HTTP request must legal, or Agile WebClient throws com.agile.ui.web.security.WebSecurityException error and refuse to service client's request. I will discuss briefly how to handle two kinds of issue of WebSecurityException.[Read More]

Friday Jan 23, 2015

Recover Keystore for Agile 9.3.2 and above version

agileks.jks is the Keystore used by Agile based on Java JCEKS and AES algorithm. So all the AES related password in Agile are associated with agileks.jks. During Agile installation, a random Keystore password is created automatically, then agileks.jks is created as well based on the random Keystore password. After that Agile will use this Keystore password and Keystore file to encrypt the random Keystore password itself and save to Agile database propertytable table with format of "{AES}xxxx" like "{AES}sX+GBU67vmFlF9z7GcVBa/+qCyrfBL0YF61qOf1iUak=". It is displayed in JavaClient's Preference as "Keystore Password". In some cases the Keystore will be corrupted. For example, manually modify the Keystore Password in JavaClient or clone Agile database to destination Agile without updating Keystore file. Agile throws Keystore error during startup.[Read More]

Thursday Dec 04, 2014

ClasspathLocator based on JMX to detect class location

Sometimes I get ClassNotFoundException error from Agile PLM and really do not know which jar file containing this Class is lost. Same happens if I get below error. Another issue is if duplicated class are referenced by JVM, it is hard to to figure out which one is acting. Below is a simple tool written in Java with JMX to detect related class location in a working environment.[Read More]

Wednesday Oct 08, 2014

LoginException: java.lang.SecurityException caused by Cookie Sharing

There is a very common issue which could impact all Agile PLM customers' integration that Agile SDK fails to create session and hits error " java.lang.SecurityException: User: e0FFxxxxxxx, failed to be authenticated". This article describes the scenario and call your attention to the fact that it is another issue than described in previous article Agile 9.3.2 URL PX error javax.security.auth.login.LoginException in Tomcat 6/7.[Read More]

Wednesday Sep 24, 2014

Decrypt & encrypt the Weblogic password with AES

Since Agile PLM 9.3.2, Agile uses the same algorithms as Weblogic to encrypt some credential with AES. In some cases that we need to reset these credentials or verify if we input the correct password, we need a method to retrieve the decrypted password. Here is a way.

[Read More]

Friday Sep 05, 2014

ORA-01722 error if reference PPM ‘Created From Template’ in IQuery Where clause

There is one issue in Agile SDK API that if "General Info.Created From Template" of PPM is referenced in IQuery‘s WHERE clause, SDK client program will show "ORA-01722: invalid number" error. A BUG 19064118 is filed this week. This article describes why it happens and how to work around it.[Read More]

Thursday Aug 14, 2014

SQL solution to show better Admin History data than JavaClient

In JavaClient, Admin History records all kinds of administration actions to system for audit. These actions could be Modify Class, Add List, Remove Workflow and more. But in most cases, Admin History does not display these actions clearly.[Read More]

Friday Aug 08, 2014

Set up Node Manager for Agile Cluster Servers

This article describes how to create Node Manager for Agile Cluster and manage them remotely. Suppose we have three Linux machines, one for Admin Server, the other two are for Managed Servers. Below is Agile Cluster information.[Read More]

Wednesday Jul 30, 2014

BASIC_LEXER and WORLD_LEXER in Agile Quick Search

We all know Agile Quick Search uses Oracle Text to do search based on the object name and description. For BASIC_LEXER, Agile defines several special characters in CONTENT LEXER, making them as normal characters not delimiter. While for WORLD_LEXER, Agile has no such definition. This blog article demonstrates a case that Quick Search does not return result if use parentheses as the keyword.[Read More]

Monday Jul 28, 2014

An example to show how to use 3rd party tools to diagnose Agile PLM LDAP problem

If all LDAP configuration set up correctly in Agile PLM and expected LDAP user accounts synchronized to system as well, but ldap user is still not able to logon Agile system, it may be caused by wrong setting on LDAP Server itself. This article demonstrates how to use different kinds of 3rd party tools to diagnose such LDAP authentication issue.[Read More]

Friday Jul 25, 2014

How to integrate OpenLDAP with Agile PLM

Agile supports other kinds of LDAP serve as a Generic LDAP node in system with the customized groovy script to map LDAP Server‘s attributes to Agile‘s. The difficulty of integration for Agile Administrator is to understand LDAP specific attributes and write the correct groovy code. This article describes the principle of integration with OpenLDAP, an open-source LDAP server, with a sample of scripts.[Read More]

Monday Jul 21, 2014

Solution to detect list attribute references

Agile shows alert and does not allow to modify List attribute to switch to another List if this attribute is already referenced by these criteria. Admin Criteria, Report Criteria and Search Criteria[Read More]

Friday May 30, 2014

Allow agile user to login Weblogic Admin Console

By default, Agile uses the default user superadmin as the administrator user to start Weblogic and logon Admin Console. We also can enable any type of users to start Weblogic or manage it, for example the DB user and LDAP user.[Read More]


« March 2015