apache/dolphinscheduler · error · TaskException

http request method %s not supported

Error message

http request method %s not supported

What it means

A switch default guard in sendRequest: httpParameters.getHttpRequestMethod() did not match GET/POST/PUT/DELETE, so no request can be dispatched. The offending input is the configured request method string — a typo, an unsupported verb (PATCH, HEAD), or a value written by an incompatible version; the message interpolates the method name.

Source

Thrown at dolphinscheduler-task-plugin/dolphinscheduler-task-http/src/main/java/org/apache/dolphinscheduler/plugin/task/http/HttpTask.java:143

        }

        // default success log
        log.info("http request success, url: {}, statusCode: {}, body: {}", httpParameters.getUrl(), statusCode, body);
        exitStatusCode = TaskConstants.EXIT_CODE_SUCCESS;
    }

    private OkHttpResponse sendRequest() {
        switch (httpParameters.getHttpRequestMethod()) {
            case GET:
                return sendGetRequest();
            case POST:
                return sendPostRequest();
            case PUT:
                return sendPutRequest();
            case DELETE:
                return sendDeleteRequest();
            default:
                throw new TaskException(String.format("http request method %s not supported",
                        httpParameters.getHttpRequestMethod()));
        }
    }

    @SneakyThrows
    private OkHttpResponse sendGetRequest() {
        OkHttpRequestHeaders okHttpRequestHeaders = new OkHttpRequestHeaders();
        okHttpRequestHeaders.setHeaders(getHeaders());
        okHttpRequestHeaders.setOkHttpRequestHeaderContentType(getContentType());
        Map<String, Object> requestParams = getRequestParams();

        OkHttpResponse okHttpResponse = OkHttpUtils.get(httpParameters.getUrl(), okHttpRequestHeaders,
                requestParams, httpParameters.getConnectTimeout(),
                httpParameters.getConnectTimeout(), httpParameters.getConnectTimeout());
        addDefaultOutput(JSONUtils.toJsonString(okHttpResponse));
        return okHttpResponse;
    }

View on GitHub (pinned to 02eac45a1b)

Solutions

  1. Use one of GET, POST, PUT, DELETE as the httpMethod
  2. For other verbs, use a shell task with curl instead of the HTTP task
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at dolphinscheduler-task-plugin/dolphinscheduler-task-http/src/main/java/org/apache/dolphinscheduler/plugin/task/http/HttpTask.java:143 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of apache/dolphinscheduler@02eac45a1b (2026-09-06). Data as JSON: /api/errors/07f45262acc30c1d. Report an issue: GitHub.