Categories
android android-json datetime rest wcf

POSTing a DateTime from Android to a WCF RESTful JSON Service

I’m trying to send a DateTime as a parameter to a method exposed over a WCF RESTful service with JSON encoding. The request looks like this:

POST http://IP:PORT/LogService/json/GetLogEntriesByModule HTTP/1.1
Content-Length: 100
Content-Type: application/json
Host: IP:PORT
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
Expect: 100-Continue
{"maxentries":10,"upperdate":"1280703601462","lowerdate":"1277938801462","module":"Windows Service"}

I tried several formats for the DateTime:

  • 2010-07-01T10:54:00 (which is send by the WCFTestClient application over NET.TCP and it gets results
  • \/Date(12345678+0100)\/
  • 01.07.2010 10:54:00

The method definition:

LogEntry[] GetLogEntriesByModule(
string module,
DateTime lowerDate,
DateTime upperDate,
int maxEntries,
out bool maxEntriesReached
)

I always get the following response:

HTTP/1.1 200 OK
Content-Length: 60
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 02 Jul 2010 09:07:04 GMT
{"GetLogEntriesByModuleResult":[],"maxEntriesReached":false}

It seems the DateTime isn’t correctly parsed, because there are several entries in the Llog for that time.

Does anyone know on how to do this?

Update: The problem was on the server side and has been resolved.