Wednesday 24 July 2019

Maximo SOAPUI error javax.xml.ws.WebServiceException


SOAPUI error while sending payload to below url (in cluster environment)

http://localhost:9080/meaweb/services/MXASSET

Error:

<faultcode>soapenv:Server</faultcode>
 <faultstring>javax.xml.ws.WebServiceException</faultstring>

Systemout log error:
CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "wsSecureProcessMOS" on bean "BeanId(maximoui#mboejb.jar#mosservice, null)". Exception data: java.lang.NullPointerException


Cause: This error occurs in cluster environments. MEAMDB is configured for MIF cluster and its port is 9082 in my case. But I was using UI port 9080.

Solution 1: change port in url 
http://localhost:9082/meaweb/services/MXASSET

Solution 2: This error may occur if AD is configured. If authentication is basic and userid & password is wrong, then this error occurs. Enter correct credentials.

and then send payload to it. 


Thursday 13 June 2019

Maximo Industry Solutions Prefix and Java versions

Industry Solution Prefix
Calibration.................................................... PLUSC
Calibration Mobile........................................... PLUSC
Asset Configuration Manager...................... PLUSA
Government..................................................... PLUSR
Nuclear.............................................................. PLUS
Oil and Gas.................................................... PLUSG
Primavera Adapter........................................ PLUSV
Service Provider.......................................... PLUSP
Transportation...................................... PLUST
Utilities.................................................... PLUSD
Spatial.................................................... PLUSS
Maximo for Energy Optimization..................... PLUSE
Health Care......................................... PLUSH
Facilities and Space Planning................. PLUSF

Source: https://www-01.ibm.com/support/docview.wss?uid=swg21650645

Java Server Runtime Environment 1.7 ( JDK ) is supported on all Feature Pack levels of Maximo release 7.6.0.
Java Server Runtime Environment 1.8 ( JDK ) is supported on Feature Pack levels of Maximo release 7.6.0.6 and newer.
Java Server Runtime Environment 1.8 ( JDK ) is required on Feature Pack levels of Maximo release 7.6.1.0 and newer.

Tuesday 11 June 2019

Maximo 7.6.1 not validate comments in condition

Recently I faced an issue while doing upgrade from Maximo 7.5.0.6 to Maxmo 7.6.1

There was a workflow condition contains sql comments like "--test commetns".

Maximo 7.5.0.6 - Go to condition expression manager --> select any object --> enter any valid query and also enter "-- test comments" --> click on test expression --> you will get validation successful

For example:
Object = PR
Condition=
:contact='xxxx'
--test comments

Click on "Test Expression" --> Validation Sucessful

Maximo 7.6.1 - Go to condition expression manager --> select any object --> enter any valid query and also enter "-- test comments" --> click on test expression --> ERROR: condition#ConditionInvalid

For example:
Object = PR
Condition=
:contact='xxxx'
--test comments

Click on "Test Expression" --> Error System Message popup "condition#ConditionInvalid"

Solution: Remove the comments in the condition.




Monday 27 May 2019

Error in SOAPUI - axis2ns1:Server Internal Error

Error
Response:
      <soapenv:Fault xmlns:axis2ns1="http://schemas.xmlsoap.org/soap/envelope/">
        <faultcode>axis2ns1:Server</faultcode>
        <faultstring>Internal Error</faultstring>
        <detail/>
      </soapenv:Fault>

Solution:
Add custom property "webservices.unify.faults" as false in websphere.

Servers > Server Types > Websphere application servers > Application Servers > MXServer > Process definition > Java Virtual Machine > Custom properties > Create new property - webservices.unify.faults = false

Save to master configuration and Restart the Application Server

Note: In cluster environment, add property to all clusters.
Source: https://www-01.ibm.com/support/docview.wss?uid=swg21984967 

Tuesday 12 March 2019

Display "Select Action" menu on toolbar

In Maximo 7.6.1, system property is added to display "Select Action" menu on toolbar. Or else it will display on side bar.

System property name: mxe.webclient.showSelectActionInToolbar
Set to 1 to always show Select Action drowdown in the toolbar.

After Maximo upgrade toolbar actions are missing

When I upgrade to Maximo 7.6.1, toolbar options are not displayed.

Solution: Go to System Properties application --> search for "mxe.webclient.showOnToolbar"

Change global value to empty, I mean left it blank.


Save the property and do live refresh.

Monday 4 March 2019

Enable/Disable MIF authentication


Disable MIF authentication:

In Maximo 7.6.1 --> System property --> mxe.int.allowdefaultlogin = 1
This property also overrides the ALLOWDFLTLOGIN settings in the ejb-jar.xml file for the default integration user.
source: https://www.ibm.com/support/knowledgecenter/en/SSLKT6_7.6.1/com.ibm.mam.doc/overview/c_new_mif_sys_prop_.html

NOTE: Cluster environment, restart all the clusters.

Enable MIF authentication:

Maximo authentication is enabled by setting the mxe.useAppServerSecurity system property to 0 (false).
If maximo authentication is enabled, all HTTP-based inbound transactions must specify an HTTP header with the following attributes:
MAXAUTH
username:password (User credentials encoded to base64 format)

Note: I used this website to encode base64 https://www.base64encode.org/

Maximo Application Server authentication is enabled by setting mxe.useAppServerSecurity system property to 1 (true).

Take a backup of "ejb-jar.xml" from "maximo/applications/maximo/mboejb/ejbmodule/META-INF".
Modify "ejb-jar.xml" : ALLOWDFLTLOGIN as 1 (change 4 entries)
<env-entry>
<env-entry-name>ALLOWDFLTLOGIN</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>1</env-entry-value>
</env-entry>

The ALLOWDFLTLOGIN value must be set to 1 (true) for each of the following services in the XML file:
Enterprise Services
Object Structure Service
Standard Services
Workflow service

Note: The default integration user is not supported if you use the REST API or OSLC API. After you update the ejb-jar.xml deployment file, you must rebuild and redeploy the Maximo EAR file.

Source: https://www-01.ibm.com/support/docview.wss?uid=swg21965724 

Always try above steps in non production environments.


Friday 8 February 2019

ORA-00959: Tablespace 'MAXIMO' does not exist

Error occurred while doing updatedb: Maximo 7.6.1 - Oracle 12c (12.2) - Websphere 9.0.0.7

ORA-00959: Tablespace 'MAXIMO' does not exist

After creating oracle database instance, we creates tablespaces MAXDATA, MAXTEMP and MAXINDEX.

Identify whether store partitions of the tables and indexes are correctly inserted in below tables:

SELECT DISTINCT STORAGEPARTITION FROM MAXTABLECFG;

if it returns MAXIMO, then run below query

UPDATE MAXTABLECFG SET STORAGEPARTITION = 'MAXDATA' WHERE STORAGEPARTITION = 'MAXIMO' ;

UPDATE MAXTABLE SET STORAGEPARTITION = 'MAXDATA' WHERE STORAGEPARTITION = 'MAXIMO' ;

COMMIT;

Now will verify in MAXSYSINDEXES

SELECT DISTINCT STORAGEPARTITION FROM MAXSYSINDEXES;

if it returns MAXIMO, then run below query

UPDATE MAXSYSINDEXES SET STORAGEPARTITION = 'MAXDATA' WHERE STORAGEPARTITION = 'MAXIMO' ;
COMMIT;

For me, above solution is worked. Please try in dev environment and analyse the solution, before you apply to production.

Tuesday 22 January 2019

Kill Oracle session

Sorry guys, its been long time.

Error occured in Maximo 7.6.1 and Oracle 12c. This error occured while doing db config after adding index in WORKORDER table.

Error: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

Ran below query to find out the locked sessions:

select a.sid, a.serial#,b.object_id,b.oracle_username,b.os_user_name,c.object_name,c.owner from v$session a, v$locaked_bject b, dba_objets c where b.object_id = c.object_id and a.sid = b.session_id and object_name='<TABLE NAME>';

Once you get the output, note the sid and serial# values.

Run below query to kill the locaked session by login into sqlplus as user 'system'. If you know any user like 'sys' or 'maximo' having privileges to kill session, use them.

alter system kill session 'sid,session#'; -- Replace the sid and serial# values in the query.

Now verify DB config is stuck:

select * from maxvars where varname = 'CONFIGURING'; --Verify VARVALUE=0

If VARVALUE is 1, then change to 0.

update maxvars set varvalue = 0 where varname = 'CONFIGURING';

commit;

Sometimes it is required to restart the server. In my case, DB Configuration application was hung. so restarted the server. Once application is up, then recreated the index.

Thank you.


Maximo SOAPUI error javax.xml.ws.WebServiceException

SOAPUI error while sending payload to below url (in cluster environment) http://localhost:9080/meaweb/services/MXASSET Error : <f...