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

  1. Open ${SONAR_URL}/api_documentation (web_service documentation) on your instance and find the replacement endpoint.
  2. 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).
  3. 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

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


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)