There is a discrepency in the HTTP string pool in the Nokia 6600 versus the HTTP string pool used in the SDK 2.1 beta (and possibly older versions of the SDK), and this leads to HTTP POSTs failing.

Here is a fragment of the string table for both the Nokia Series 60 SDK version 2.1 and the Nokia 6600. This was retrieved by looping through the table returned by RHTTPSession::GetTable(), and using an open RHTTPSession's StringF() function.

In particular:

Index of 39 maps to 'Profile'[SDK2.1b] and 'Accept-Ranges'[Nokia6600]
Index of 40 maps to 'Profile-Diff'[SDK2.1b] and 'Age'[Nokia6600]
Index of 41 maps to 'Accept-Ranges'[SDK2.1b] and 'ETag'[Nokia6600]
Index of 42 maps to 'Age'[SDK2.1b] and 'Location'[Nokia6600]
Index of 43 maps to 'ETag'[SDK2.1b] and 'Proxy-Authenticate'[Nokia6600]
Index of 44 maps to 'Location'[SDK2.1b] and 'Retry-After'[Nokia6600]
Index of 45 maps to 'Proxy-Authenticate'[SDK2.1b] and 'Server'[Nokia6600]
Index of 46 maps to 'Retry-After'[SDK2.1b] and 'Set-Cookie'[Nokia6600]
Index of 47 maps to 'Server'[SDK2.1b] and 'Set-Cookie'[Nokia6600]2
Index of 48 maps to 'Set-Cookie'[SDK2.1b] and 'Vary'[Nokia6600]
Index of 49 maps to 'Set-Cookie2'[SDK2.1b] and 'WWW-Authenticate'[Nokia6600]
Index of 50 maps to 'Vary'[SDK2.1b] and 'Allow'[Nokia6600]
Index of 51 maps to 'WWW-Authenticate'[SDK2.1b] and 'Content-Base'[Nokia6600]
Index of 52 maps to 'Allow'[SDK2.1b] and 'Content-Disposition'[Nokia6600]
Index of 53 maps to 'Content-Base'[SDK2.1b] and 'Content-Encoding'[Nokia6600]
Index of 54 maps to 'Content-Disposition'[SDK2.1b] and 'Content-Language'[Nokia6600]
Index of 55 maps to 'Content-Encoding'[SDK2.1b] and 'Content-Length'[Nokia6600]
Index of 56 maps to 'Content-Language'[SDK2.1b] and 'Content-Location'[Nokia6600]
Index of 57 maps to 'Content-Length'[SDK2.1b] and 'Content-MD'[Nokia6600]5
Index of 58 maps to 'Content-Location'[SDK2.1b] and 'Content-Range'[Nokia6600]
Index of 59 maps to 'Content-MD5'[SDK2.1b] and 'Content-Type'[Nokia6600]
Index of 60 maps to 'Content-Range'[SDK2.1b] and 'Expires'[Nokia6600]
Index of 61 maps to 'Content-Type'[SDK2.1b] and 'Last-Modified'[Nokia6600]

As you can see, the Nokia 6600 removes the two string entries Profile and Profile-Diff, and thus all the entries after this are offset by 2 until the next change at index 112 where _UaProf is moved to the end of the string table.

This causes Content-Type to be mapped instead to Last-Modified, so every program attempting a regular web post using a content type of "application/x-www-form-urlencoded" will fail when using the SDK's version of HTTP::EContentType.

Thus the leave code of -7630 (KErrHttpEntityHeaderMissingContentType) for those of you who have ever tried to use the (as yet undocumented sufficiently) HTTP API.

Hope that helps someone, and encourages Nokia to release better documentation for any changes they make to the API.