ARM Technical Support Knowledge Articles

Setting push url always fails

Applies to: mbed Device Server


When you are putting a push URL (PUT /{domain}/notification/push-url), you receive the following response with an HTTP error code:

500: Bad Request

To solve this problem, follow these instructions:

  1. Always check the returned error message that explains the root cause of the failure.
  2. Make sure that the body has a well formatted URL that contains the protocol (http or https) and the host part, and optionally, the port and path as well.
  3. While the push URL is set, the mbed Device Server checks whether the callback server is alive or not by connecting to it and sending an empty notification message.
  4. Make sure that the callback server is running and the mbed Device Server can access the provided URL, because sometimes the NAT or firewall can block the connection.
    • The callback server must return an HTTP code 200, otherwise setting the push URL operation will fail.
  5. If the callback server uses https connection, you can configure the security protocol by setting a parameter named rest.push.https-protocol.
    • Valid values are TLSv1.2, TLSv1.1, TLSv1 or SSLv3 (not recommended).

Article last edited on: 2015-02-25 14:11:50

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential