SonarSource/sonarqube · error · ServerException
The web service ' ' doesn't exist anymore, please read its…
Error message
The web service '%s' doesn't exist anymore, please read its documentation to use alternatives
What it means
Thrown by RemovedWebServiceHandler when a client calls a web service path that has been deliberately removed from SonarQube. It answers with HTTP 410 (Gone) and tells the caller to read the web service documentation to find replacements, since removed endpoints are kept registered only to return this response.
Solutions
- Open ${SONAR_URL}/api_documentation (web_service documentation) on your instance and find the replacement endpoint.
- Check the release/upgrade notes for the version you upgraded to and migrate scripts to successor APIs (e.g. quality gate status endpoints replacing removed issue endpoints).
- Upgrade SonarQube scanners/clients that hard-code the removed path.
Example fix
// before curl -u $TOKEN "$SONAR/api/issues/set_severity?issue=..." // 410 Gone // after # removed WS; use current API, e.g. set tags/severity via modern endpoints curl -u $TOKEN -X POST "$SONAR/api/issues/do_transition?issue=...&transition=confirm"
Defensive patterns
Strategy: try-catch
Validate before calling
# detect removed endpoints against the live docs before calling curl -su "$TOKEN" "$SONAR/api/documentation/webservices" | grep -q "$PATH" || echo "endpoint may be removed"
Try / catch
Response resp = client.execute(request);
if (resp.code() == 410) {
throw new UnsupportedOperationException("Endpoint removed; consult SonarQube API docs for the replacement");
} Prevention
- Review upgrade notes for removed web services before each SonarQube upgrade.
- Generate integrations from the instance's own /api_documentation, not outdated snippets.
- Pin scanner/client versions until migration is complete.
When it happens
Trigger: Hitting any deprecated-and-removed WS path, e.g. legacy api/issues endpoints (api/issues/plan, api/issues/set_severity), old api/pcs, or other endpoints dropped in an upgrade; older SonarQube scanners or third-party clients still calling them.
Common situations: After upgrading SonarQube, older CI scripts or plugins call endpoints removed in the new version; copied example code from outdated blog posts; monitoring tools polling removed endpoints.
Understand the failure class
Background: "is deprecated and will be removed" — deprecation warnings for old API names, keywords, and options, and how to migrate before the removal release — this error's family across 29 libraries.
Related errors
- Both 'severity' and 'impacts' parameters cannot be set at…
- Cannot change the assignee of this hotspot given its…
- Cannot parse
- ${e.getMessage()}
- For security reasons, the key
AI-assisted analysis of SonarSource/sonarqube@184c821202 (2026-09-09).
Data as JSON: /api/errors/e205327b82f122d2.
Report an issue: GitHub.
Appendix: source
Thrown at server/sonar-webserver-ws/src/main/java/org/sonar/server/ws/RemovedWebServiceHandler.java:40
import com.google.common.io.Resources;
import java.net.URL;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.RequestHandler;
import org.sonar.api.server.ws.Response;
import org.sonar.server.exceptions.ServerException;
import static java.net.HttpURLConnection.HTTP_GONE;
/**
* Used to declare web services that are removed
*/
public enum RemovedWebServiceHandler implements RequestHandler {
INSTANCE;
@Override
public void handle(Request request, Response response) {
throw new ServerException(HTTP_GONE, String.format("The web service '%s' doesn't exist anymore, please read its documentation to use alternatives", request.getPath()));
}
public URL getResponseExample() {
return Resources.getResource(RemovedWebServiceHandler.class, "removed-ws-example.json");
}
}
View on GitHub (pinned to 184c821202)