Resolving SUM Java POST-UNDEPLOY-COMPONENTS Error: Dependency Conflict with tc/jax-rs/primary and tc/odata4j/primary

Troubleshooting guide for Software Update Manager (SUM) Java aborts during POST-UNDEPLOY-COMPONENTS: Manual undeployment runbook via AS Java Telnet to resolve obsolete library conflicts without skipping.

1. Error Symptoms & Logs #

During an upgrade of SAP NetWeaver AS Java (PO/PI, Portal, BPM) to a higher Support Package (NetWeaver 7.5 SP32+) using Software Update Manager (SUM), execution halts during:

Phase: Undeploy Post-Undeployment Components
Service: com.sap.sdt.j2ee.services.servicesimpl.DeployFacadeService

Log Extracts: deploy_api.0.log & POST-UNDEPLOY-COMPONENTS_XX.LOG #

[Info ]: About to undeploy component sap.com/tc/jax-rs/primary
[Info ]: About to undeploy component sap.com/tc/odata4j/primary
[Error]: Undeployment of component sap.com/tc/jax-rs/primary is rejected because undeployment of other component it depends on is rejected.
[Error]: Undeployment of component sap.com/tc/odata4j/primary is rejected because undeployment of other component it depends on is rejected.
===== Summary - Undeploy Result =====
 > SDA(s)
   - [Skipped] : sap.com_tc/jax-rs/primary, sap.com_tc/odata4j/primary

2. Root Cause Analysis #

  1. The libraries tc/jax-rs/primary and tc/odata4j/primary have been deprecated and superseded by SAP in modern NetWeaver 7.5 SP releases in favor of Apache CXF/Olingo standards. SUM is designed to undeploy them.
  2. The legacy application tc~tm~wl~odata~ear (Java BPM Task Management Worklist OData) remains deployed on the system and maintains an active dependency on these libraries, causing the prerequisite check (PrerequisitesCheckAction) to reject their removal.

[!CAUTION]
Do not click "Ignore / Skip" in the SUM UI. Bypassing this step leaves an inconsistent deployment descriptor state that causes runtime startup failures in subsequent engine boots.


3. Step-by-Step Resolution Runbook (AS Java Telnet) #

Step 1: Verify AS Java Engine & P4 Port Status #

Log in as <sid>adm on the operating system:

# Verify all Java Engine processes are GREEN
sapcontrol -nr <instance_nr> -function GetProcessList

# Check that the P4 administration port (5<nr>04) is in LISTEN state (e.g., port 52104 for instance 21)
netstat -tulnp | grep 5<nr>04

Step 2: Establish a Telnet Session to AS Java #

AS Java provides an administrative Telnet console on port 5<nr>08 (e.g., 52108 for instance 21, 50008 for instance 00):

telnet localhost 5<nr>08
  • User name: Administrator
  • Password: Enter the AS Java administrator credentials.

Step 3: Undeploy the Blocking Dependent Application First (tc~tm~wl~odata~ear) #

[!NOTE]
The undeploy command in the AS Java Telnet shell accepts only a single name= attribute per invocation. Specifying multiple name= arguments results in a Duplicate attribute specified error.

> add deploy
> undeploy name=tc/tm/wl/odata/ear vendor=sap.com

Expected result:

===== UNDEPLOY RESULT =====
   type: [SDA], name: [tc~tm~wl~odata~ear], vendor: [sap.com] ... status: [Success]

Step 4: Undeploy the Deprecated Libraries (tc/jax-rs/primary & tc/odata4j/primary) #

> undeploy name=tc/jax-rs/primary vendor=sap.com
> undeploy name=tc/odata4j/primary vendor=sap.com

(If prerequisite checks persist, force removal using the skip flag: undeploy on_prerequisite_error=skip name=tc/jax-rs/primary vendor=sap.com).

Step 5: Resume SUM Execution #

  1. Exit the Telnet console:
    > exit
    
  2. Return to the SUM web interface: https://<hostname>:1129/lmsl/sumjava/<SID>/index.html
  3. On the POST-UNDEPLOY-COMPONENTS screen, select Repeat (or Retry) → click Next.
  4. SUM re-evaluates the undeployment requirements, recognizes the components are resolved, and proceeds smoothly to the next phase.

4. Risk & Impact Assessment #

Component Scope & Operational Risk
tc/jax-rs/primary & tc/odata4j/primary Obsolete libraries deprecated by SAP. Removal is required by design for newer SP levels.
tctmwlodataear Legacy BPM Task Management worklist API. Incompatible with the updated runtime stack.
PO/PI Message Processing (ICO, Adapter Engine) Zero impact. Core messaging processes execute under independent packages (com.sap.aii.*), entirely segregated from BPM Task Management.

5. Reference SAP Notes #

  • SAP Note 3756361: Undeployment of component rejected during SUM Java post-undeploy-components phase
  • SAP Note 3798108: How to manually undeploy Java components via Telnet when dependency check fails