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

Thursday, March 27, 2014

[SOA] Using RDA for SOA Suite

Run RDA
1) Download RDA 8 from the given link (the RDA will contains 2 profiles one for SOA and one for OSB)
2) Rename the current rda folder ($SOA_HOME/rda/rda)
mv $SOA_HOME/rda/rda $SOA_HOME/rda/rdaBAK
3)  Navigate to $SOA_HOME/rda/rda
4) ./rda.sh -CRP -p FM11g_SoaMin
5) Press Enter when it prompt asking about the network domain
6) Enter your middleware home (eg: /app/product/env)
7) Just follow the prompt and give input whichever you can or accept the default.
8) Wait for some times and it will promt success

View the Result Output
1) The collected files and output will be in the $SOA_HOME/rda/rda ($RDA_HOME) in a zipped format. Upload this to the Oracle SR.
2) To view the output, copy the output folder under RDA_HOME ($SOA_HOME/rda/rda/output) to your local and open RDA_start.html in a browser.

Source: https://blogs.oracle.com/soaproactive/entry/using_the_new_rda_8