Resolving SUM Java POST-UNDEPLOY-COMPONENTS Error: Dependency Conflict with tc/jax-rs/primary and tc/odata4j/primary
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 #
- The libraries
tc/jax-rs/primaryandtc/odata4j/primaryhave 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. - 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]
Theundeploycommand in the AS Java Telnet shell accepts only a singlename=attribute per invocation. Specifying multiplename=arguments results in aDuplicate attribute specifiederror.
> 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 #
- Exit the Telnet console:
> exit - Return to the SUM web interface:
https://<hostname>:1129/lmsl/sumjava/<SID>/index.html - On the POST-UNDEPLOY-COMPONENTS screen, select Repeat (or Retry) → click Next.
- 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. |
| tc |
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