### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

IaC = CDK.

Attempting to connect an API-GW endpoint directly to EventBridge.

```
      const awsIntegration = new apigateway.AwsIntegration({
      service: 'events',
      action: 'PutEvents',
      integrationHttpMethod: 'POST',
      options: {
        credentialsRole: role,
        requestTemplates: {
          'application/json': requestTemplate,
        },
        passthroughBehavior: apigateway.PassthroughBehavior.NEVER,
        integrationResponses: [
          successResponse,
          serverErrorResponse,
          clientErrorResponse,
        ],
      },
    });
```

Receiving response:

```
    {
      statusCode: 400,
      data: {
        Type: 'User',
        message: `Error invoking integration for API Gateway ID '1z7ky5zzcb': API Gateway AWS integration action URI "arn:aws:apigateway:ap-southeast-2:events:action/PutEvents", method "GET" not yet implemented`,
        __type: 'InvalidRequest'
      }
    }
```

Similar to bug reported:

* https://github.com/localstack/localstack/issues/5508

### Expected Behavior

* 200 response
* Event created in relevant Eventbus

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

docker run localstack/localstack

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

Calling the API endpoint using axios from jest tests.

### Environment

```markdown
- OS: MacOS
- LocalStack: latest
```


### Anything else?

_No response_
cls, integration_params: IntegrationParameters, headers: Dict[str, Any]
    ):
        for k, v in integration_params.get("headers").items():
            headers.update({k: v})
    @classmethod
    def apply_response_parameters(
        cls, invocation_context: ApiInvocationContext, response: Response
    ):
        integration = invocation_context.integration
        integration_responses = integration.get("integrationResponses") or {}
        if not integration_responses:
            return response
        entries = list(integration_responses.keys())
        return_code = str(response.status_code)
        if return_code not in entries:
            if len(entries) > 1:
                LOG.info("Found multiple integration response status codes: %s", entries)
                return response
            return_code = entries[0]
        response_params = integration_responses[return_code].get("responseParameters", {})
        for key, value in response_params.items():
            
            if str(key).lower().startswith("method.response.header."):
                header_name = key[len("method.response.header.") :]
                response.headers[header_name] = value.strip("'")
        return response
@lru_cache(maxsize=64)
def get_service_factory(region_name: str, role_arn: str):