For anyone trying to work out why Microsoft Exchange Push notification message responses are not being accepted by the server, it has taken me a while, but it seems to be that it does not accept a "chunked" response.
We were sending a response from a CGI script from apache, and that is normally chunked.
But there is no way to guess what is wrong. Lots of examples on the Internet, but none worked.
We were sending text/xml with :-
<?xml version="1.0" encoding="UTF-8"?>
I tried every combination of xmlns tagging and all sorts, eventually solved the problem by sending with a Content-Length rather than chunked. That is what it wanted.
But I guess it is in line with the rest of the documentation, which is pretty crap (in my opinion), e.g. one page listing a field as URL in one place and Url in another, and we had the wrong one. You just have to guess what is wrong half the time.
Anyway, this blog is for those looking for Wisdom of the Ancients thanks to XKCD