SAP MMC Webservice Error 21 and 29: How to Diagnose
webservice error 21 sap mmc
Also searched as
- webservice error 29 sap mmc
- sap mmc webservice error
- sapcontrol webservice call failed
- sap management console cannot connect
Short answer
SAP MMC talks to each instance through the SAPControl web service hosted by the sapstartsrv process. A webservice error in MMC means that call failed, typically because sapstartsrv is not running, the instance number or port is wrong, the call is blocked by a firewall or SSL setting, or the OS user is not authorized. Test with sapcontrol from the host and read the sapstartsrv logs.
Applies to: SAP NetWeaver / S/4HANA application servers on Windows and Linux with SAP Management Console
Diagnose the webservice failure
- 1On the SAP host check that the sapstartsrv service for the instance is running (Windows: Services, SAP<SID>_<NN>; Linux: ps for sapstartsrv).
- 2Test locally: sapcontrol -nr <NN> -function GetProcessList. A result list means the service answers; an error text tells you the cause.
- 3Confirm the instance number in the MMC connection matches the actual instance. The HTTP port is 5<NN>13 and HTTPS 5<NN>14.
- 4From the MMC machine test the port with a telnet or port check. Open the firewall if it is blocked.
- 5Read the sapstartsrv logs (sapstartsrv.log) and dev_sapstartsrv in the instance work directory for the exact reason.
- 6If authorization fails, check which OS user is allowed to call protected functions (<sid>adm or members of the allowed group) and the service's access configuration.
- 7Restart sapstartsrv if it is hung: sapcontrol -nr <NN> -function RestartService, or the OS service restart, then retry MMC.
How MMC reaches the instance
MMC is a client of the SAPControl SOAP web service. Each instance has one sapstartsrv that starts and stops the instance and answers requests such as GetProcessList, Start, Stop and GetSystemInstanceList. If that process is down or unreachable, MMC shows a web service error rather than a process list.
The numeric code is a wrapper for the underlying call failure. I would not rely on the number alone: the sapcontrol output and the sapstartsrv log say whether it is a connection refusal, a timeout, an SSL problem or an authorization refusal.
Frequent root causes
Service not started after a reboot or patch; hostname changes or virtual host name not resolving; the instance profile or the SAPLOCALHOST value points to an old host; clock or certificate problems when using HTTPS; a firewall rule closing 5NN13/5NN14; and an OS user lacking rights for Start/Stop calls.
After a database or OS migration, check that the service was re-registered with the right profile path. On Windows the SAP service account password may have expired.
sapcontrol -nr 00 -function GetProcessList
sapcontrol -nr 00 -function GetVersionInfo
sapcontrol -nr 00 -prot PIPE -function GetProcessList (local, bypasses network)
When to escalate
If the local call works but the remote one fails, the issue is network or SSL. If neither works and the service logs show profile errors, check DEFAULT.PFL and the instance profile paths. If it fails only for Start/Stop, it is OS authorization. Gather the log lines before opening a Basis ticket.
Try it here, free
SAP Security Profile Parameters Reference
A searchable reference of the profile parameters that control SAP logon, passwords, authorization checks, RFC, gateway and audit logging.
Common pitfalls
- !Restarting the whole SAP instance when only sapstartsrv needs a restart.
- !Assuming the number identifies a single cause; always read the underlying log text.
- !Using the wrong instance number, especially on hosts with several instances.
- !Opening firewall ports broadly instead of limiting access to admin hosts, since SAPControl can start and stop systems.
How an ERP-grounded AI assistant handles this
An assistant on your own infrastructure can read the sapstartsrv log excerpts you paste in, compare them with the instance profile, and suggest the likely cause with the commands to verify. It does not connect to production hosts on its own and never runs start or stop commands without human approval.
Frequently asked questions
What is sapstartsrv?
It is the SAP start service process for an instance. It exposes the SAPControl web service used by MMC and sapcontrol, and it starts, stops and monitors the instance processes.
Which ports does SAPControl use?
HTTP is 5NN13 and HTTPS 5NN14, where NN is the instance number. For example instance 00 uses 50013 and 50014.
How do I test without MMC?
Run sapcontrol on the host: sapcontrol -nr 00 -function GetProcessList. It uses the same web service and prints a readable error if the call fails.
Does restarting sapstartsrv stop SAP?
Restarting the service does not by itself stop running work processes in most setups, but test in a maintenance window. Check the instance state with GetProcessList afterwards.
Related
SAP Short Dump TIME_OUT: Maximum Runtime Exceeded
A TIME_OUT runtime error means a dialog (or RFC) work process ran longer than the maximum allowed runtime, controlled by profile parameter rdisp/max_wprun_time (600 seconds by default). The fix is almost always to move the long-running work to background processing or tune the underlying program, not to raise the timeout.
Error fixSAP IDoc Status 51: Application Document Not Posted
Status 51 tells you the IDoc reached the application layer and failed to post, but the status text itself is not the error - the real cause sits in the status record's long text or the linked application log. Fix the underlying data or configuration, then reprocess the IDoc through BD87 rather than editing the status.
How-toSAP S/4HANA upgrade steps: a runbook for manufacturers
An S/4HANA move runs in phases: assess with the readiness check and simplification items, clean up and adapt custom code, plan the stack in Maintenance Planner, run the technical conversion or upgrade with SUM in a sandbox, test business processes, rehearse the cutover and go live. Most of the effort is in custom code, data and testing, not the tool.
How-toHow to Use BAPI_TRANSACTION_COMMIT Correctly
SAP's BAPI programming model separates business logic from the database commit on purpose, so a caller must explicitly call BAPI_TRANSACTION_COMMIT after a successful BAPI - usually with WAIT = 'X' - or the created object never actually persists. Skipping this step, or forgetting WAIT, is the most common reason a BAPI 'runs fine' but nothing gets saved.
Error fixSAP M7 021: Deficit of SL Stock Quantity
M7 021 fires during a goods issue, delivery, or confirmation when SAP checks the unrestricted-use (SL) stock for the exact plant, storage location and batch combination and finds less than what you are trying to post out. Fix the entry (batch, storage location, quantity) first; only enable negative stock or downgrade the message to a warning if the business genuinely needs to post ahead of a receipt.
How-toHow to Read MD04 Exception Messages in SAP
The exception indicator in MD04 flags procurement elements whose date or quantity no longer matches the current demand situation - it is SAP's built-in change signal, read element by element in the detail screen, not just the header icon. Triage by exception group first, then decide to reschedule, cancel, or accept each one.
AI for ERPAI for SAP S/4HANA, Running On-Prem or in Your Private Cloud
Run AI on SAP S/4HANA without sending ERP data to a public API. On-prem and private-cloud architecture, CDS views, OData, and honest deployment trade-offs.
AI for ERPSAP AI Consulting for On-Prem and Private Deployments
What to demand from an SAP AI consulting partner when data must stay on-prem or private: OData/BAPI mechanics, Joule vs. private LLM, and buyer questions.
Stuck on SAP NetWeaver / SAP MMC?
Talk to engineers who work inside SAP NetWeaver / SAP MMC every week, and who build private AI that answers these questions from your own ERP data.
Keep exploring
Free tools
- SAP Security Profile Parameters ReferenceA searchable reference of the profile parameters that control SAP logon, passwords, authorization checks, RFC, gateway and audit logging.
- Bonus Tolerance (MMC) Position CalculatorCalculates the bonus tolerance gained as a feature departs from maximum material condition and compares the total allowed position zone to the measured error.
- GD&T Bonus Tolerance Calculator (MMC and LMC)Enter the size limits, the actual feature size and the position tolerance at MMC. Get the bonus tolerance, the total allowed position zone and a pass/fail against measured X and Y offsets.
ERP fixes and how-tos
- SAP: 'This Function Is Not Possible' - Causes and How to DiagnoseSAP shows 'This function is not possible' when status, authorization, posting rules or the object state block an action. Learn how to find the real cause.
- Deltek Costpoint Integration Console and Integration OptionsCostpoint integration options explained: web services, import utilities, scheduled files and APIs, how to choose between them, and how to run them safely.
- Internal Server Error in IFS Cloud: How to Diagnose ItIFS Cloud showing an internal server error? Work out whether it is the client, the middleware, a projection or the database, and read the right logs first.