Since I was one of the offending parties, let me try to make clear why we did it.
We wanted a way to retrieve metadata for services using the same protocols we use to talk to those services.
It’s tempting to just use HTTP GET with query string hackery. In fact, this is exactly what we did in V1 (ASMX).
However, here are a few issues with that approach:
- To date, we’ve avoided telling people how to form their URI. We’d like to keep it that way if possible.
- Not all services will support HTTP. In Indigo, it’s common to expose an endpoint that only listens over IPC or SOAP-over-TCP.
- We wanted metadata retrieval to compose with things like WS-Security.
- We wanted to have one discoverable mechanism that would scale to arbitrary forms of metadata. In its simplest form, a MEX reply enumerates all of the supported metadata formats a given endpoint supports. For people building generic inspection/diagnostics/management tools, this is pure goodness.
All of this stated, ASMX still supports ?WSDL as does Indigo (if you enable it).
Using plain-old-HTTP-GET isn’t a bad solution – it just doesn’t always work.
Posted
Apr 30 2005, 06:14 PM
by
don-box