Monday, April 14, 2014

[SOA] java.lang.NoClassDefFoundError: oracle/sdp/messaging/Message

Issue:
Observing "java.lang.NoClassDefFoundError: oracle/sdp/messaging/Message" error in the diagnostic log

[2014-04-11T11:30:14.125+08:00] [BAIAPRD_MS1] [ERROR] [] [oracle.soa.bpel.engine] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@398ba835] [userId: <anonymous>] [ecid: 8e6376f44a6a4ba9:457d859:1454c859dda:-8000-0000000000e3e370,0:1:100052748] [APP: soa-infra] [VERB_CODE: ] [SENDER_TRANSACTION_CODE: ] [composite_name: SyncCustomerPartyListKenanCommsProvABCSImpl] [SENDER_ID: ] [EBM_ID: ] [component_name: SyncCustomerPartyListKenanCommsProvABCSImplProcess] [component_instance_id: 901660826] [EBO_NAME: ] [SENDER_MESSAGE_ID: ] [EBM_NAME: ] [ECID: 8e6376f44a6a4ba9:457d859:1454c859dda:-8000-0000000000e3e370] This exception occurred because the fault thrown in the BPEL flow was not handled by any fault handlers and reached the top-level scope. Root cause : [[
java.lang.NoClassDefFoundError: oracle/sdp/messaging/Message
        at oracle.apps.aia.core.eh.AIAErrorHandlerImpl.sendEmailNotification(AIAErrorHandlerImpl.java:109)
        at oracle.apps.aia.core.eh.AIAErrorHandlerImpl.sendNotification(AIAErrorHandlerImpl.java:94)
        at oracle.apps.aia.core.eh.InvokeBusinessErrorHandler.process(InvokeBusinessErrorHandler.java:34)
        at orabpel.synccustomerpartylistkenancommsprovabcsimplprocess.ExecLetBxExe2.execute(ExecLetBxExe2.java:298)
        at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELxExecWMP.__executeStatements(BPELxExecWMP.java:47)
        at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:158)
        at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2554)
        at com.collaxa.cube.engine.CubeEngine._handleWorkItem(CubeEngine.java:1176)
        at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1082)
        at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73)

Action lead to the Issue:
1) We open putty and source aiaenv.sh (AIA_HOME/aia_instances/AIA/bin/aiaenv.sh) then perform the AIA deployment using ant script (and AID)
2) We stop Node Manager, Admin Server (AS), Managed Server (MS)
3) Using same putty window/session, we startup AS and MS. And startup MS using through console.
4) Then we observed the error when our fallout not returning the expected error

Root Cause:
Overloading of class.

Explanation:
The aia.jar lib is in the classpath during nodemanager startup. Thus the nodemanager will use the classpath when starting up managed server. Which result in the overloading of the class.

Related/Reference:
1) SR 3-8842902911 : PRD-AIA Encounter "java.lang.NoClassDefFoundError" when composite invoke services
2) Orace Doc ID : Error Email Notification Not Received (Doc ID 1360057.1)

Wednesday, April 2, 2014

[AIA] AIASessionPoolManager - How to restart SPM

Abbreviation : SPM - SessionPoolManager

Overview step:
1) Login to soa-infra console
2) Terminate SPM
3) Start SPM

Details Step:
1) Login to soa-infra consoole
eg: http://soaIP:soaPort/soa-infra/

2) Search for AIASessionPoolManager and click Test Client. It should be [partition]/AIASessionPoolManager
eg: default/AIASessionPoolManager


3) Choose "Terminate" from the dropdown menu. And insert Username, Password and HostID.

4) Check XML Source and the interface will be changed to XML format

5) Change the MustUnderstand value from 1 to 0

6) Click Invoke

7) Repeat step 3 to 6, but this time choose "Start" from the dropdown (refer step 3)


How to check status of SPM:
1) Repeat step 1 to 6 above, but choose "Status" from the dropdown menu in Step 3