Websocket API Gateway error "No match for output mapping"

0

Hi,

I am having error in $connect route of my Websocket API Gateway. The setup is very simple with no Authorization and Api key requirement. The integration type is a Lambda Function without using Lambda Proxy Integration. The following is the Lambda function:

public class LambdaBasicStreamFunction implements RequestStreamHandler {
@Override
public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException {
int letter;
String eventObject = "";

    while ((letter = inputStream.read()) > -1) {  
        char inputChar= (char) letter;  
        eventObject += inputChar;  
    }  

    //Passing a custom response as the output string  
    String response = "{\n" +  
            "    \"statusCode\": 200,\n" +  
            "    \"headers\": {\"Content-Type\": \"application/json\"},\n" +  
            "    \"body\": \"plain text response\"\n" +  
            "}";  
    outputStream.write(response.getBytes());  

    System.out.println("Input-Event: " + eventObject);  
}  

}

When I used wscat to test the connection, I got "error: Unexpected server response: 500". The api execution log says: "Execution failed due to configuration error: No match for output mapping and no default output mapping configured. Endpoint Response Status Code: 200".

Can anyone help me figure out the problem? Thanks in advance.

asked 5 years ago2085 views
1 Answer
1

Never mind. I found once I enable Lambda Proxy Integration, the error goes away.

answered 5 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions