Hacker News new | ask | show | jobs
by ejdyksen 866 days ago
> facilitating the native support for the Exchange protocol

There is not one single “Exchange Protocol”. There’s MAPI, EWS, ActiveSync, and more. Anyone know what this uses?

1 comments

Apparently EWS which makes sense. ActiveSync is for mobile and EWS is newer compared to MAPI (which is an API technically), although there is a protocol that maps this to RPC for the Exchange case.
Are you sure it's not Microsoft Graph? (did you find this in the docs somewhere?) The end of life of EWS has been set in stone for 2026[0] (although it's been implied EoL for a few years) seems futile to invest in an expiring service.

[0]: https://www.windowscentral.com/software-apps/microsoft-is-se...

this, i hope they are not wasting time on the protocol which is deprecated

just like I hope Evolution will rewrite the exchange handling by that point

> which is an API technically

What's the difference between an API and a protocol? From my understanding, if a developer publishes an API or a protocol spec, I can use that to retrieve data from their server either way

API is documentation for MAPI.DLL in this case. It is useless under non-windows system and requires this DLL, which is, effectively, Outlook backed.

Network protocol between MAPI.DLL and Exchange server newer was published (but partially revers-engineered).

And I've participated in project which uses MAPI.DLL, it was buggy as hell, and we delayed product release for whole year (!), trying to workaround all bugs. It was complete disaster and failed product too late to market.

I would expect an API is a set of things one could call, and a protocol is the sequence of things that one must, should, or can do in order to be in compliance with what the other party in the protocol is expecting to happen

HTTP is a protocol because one cannot just socket.write whatever bytes they want and have any good outcome, whereas socket.write is an API that is available in a hypothetical library

API != Network API. Win32 is also an API.
Yep, I was using MAPI as shorthand for both RPC MAPI (which was traditionally used inside corp networks, where port 35 would be open) and RPC-over-HTTP.

There's also a JSON-based web services API that is, as far as I know, unpublished (which OWA and I think the "next gen" Outlook uses).

EWS if I recall correctly is transposition of MAPI-RPC onto HTTPS connection
EWS is a SOAP-based web services protocol. Totally separate from MAPI.

What you're thinking of is called RPC-over-HTTP or sometimes "Outlook Anywhere".

It‘s not totally separate from MAPI because it inherits a large amount of the legacy baggage. A compliant implementation will need a very similar object model, in particular most of the properties, streams and encapsulated formats are also transported through EWS.
Ahh.

I wonder how it deals with things like MAPI (which still forms internals of Outlook and Exchange) not actually supporting HTML email[1] despite having a message for it (and Outlook being infamous for pushing HTML email in minds of many)

[1] If you include a HTML Email message part in a MAPI store, the MS MAPI library explodes and declares the store unreadable. You have to wrap HTML in RTF and include it in RTF message part... ¯ \ _ ಠ _ ಠ _ / ¯