title: AWS Lex receives Invalid Response from lambda function - Can not construct instance of IntentResponse
body: <p>Using Java8 in eclipse AWS SDK, I've created and uploaded a lambda function that is hooked in upon fulfillment of my lex intent. 
  Lambda has not problem receiving JSON request and parsing.
  Then, I format a simple "Close" dialogAction response and send back to lex and receive the following error from the Test Bot page in the lex console:</p>
  
  <pre><code>    An error has occurred: Received invalid response from Lambda: 
      Can not construct instance of IntentResponse: 
      no String-argument constructor/factory method to deserialize 
      from String value
      ('{"dialogAction
      {"type":"Close","fulfillmentState":"Fulfilled","message":
      {"contentType":"PlainText","content":"Thanks I got your info"}}}') 
      at [Source: "{\"dialogAction\":
      {\"type\":\"Close\",\"fulfillmentState\":\"Fulfilled\",\"message\":
     {\"contentType\":\"PlainText\",\"content\":\"Thanks I got your 
     info\"}}}";line: 1, column: 1]
  </code></pre>
  
  <p>It seems to have a problem right away with the format (line 1, column 1), but my JSON string looks ok to me. Before returning the output string in the handleRequest java function, I am writing the it to the Cloudwatch log and it writes as follows:
  <b></p>
  
  <pre><code>{
     "dialogAction": {
          "type": "Close",
          "fulfillmentState": "Fulfilled",
          "message": {
              "contentType": "PlainText",
              "content": "Thanks I got your info"
          }
      }
  }
  </code></pre>
  
  <p></b></p>
  
  <p>Things I've tried: </p>
  
  <ul>
  <li>Removing the message element as it's not required  </li>
  <li>Adding in non-required properties like sessionAttributes,
  responseCard, etc  </li>
  <li>removing the double quotes   </li>
  <li>replacing double quotes with single quotes   </li>
  <li>hardcoding json from sample response format message in documentation</li>
  </ul>
  
  <p>Is there something hidden at the http headers level or is java8 doing something to the JSON that is not visible? </p>