[
Lists Home |
Date Index |
Thread Index
]
On Apr 5, 2005 7:39 AM, Marc de Graauw <marc@marcdegraauw.com> wrote:
> I've got an actual project I wasn't able to do with REST in a satisfactory
> way (although I would have liked to).
>
> I have been writing a SOAP/WSDL specification for HL7v3 messages for the
> Dutch Health Authority.
>
> Those HL7v3 messages are in XML, and derived from older (v2) non-XML
> formats, so the messages themselves have a quite venerable age. As an
> example, an important class of messages is query/response. An example I've
> been working on is a query with (among others) a patient id, which gets a
> response with all medication that has been prescribed to this patient. In
> HL7v3 the queries themselves have a lot of elements. With SOAP this is not
> much of a problem: both the query and response are XML messages. With REST I
> have the following options:
> - Use GET, and translate the query to a URI. Now I have two different
> formats for query and response, and an awful long and hard-to-read URI.
> - Use POST to send the XML query and fetch the XML response. This is not
> very RESTful, since the patient's medication history in the response is
> naturally a resource, and GET is the RESTful way to retrieve a resource. (If
> I follow this solution, I would end up using POST for all or almost all
> HL7v3 interactions. If I add an envelope and headers, I've almost got SOAP
> over HTTP.)
POST is perfectly appropriate for such large queries. If you wanted to
do that query multiple times then you can create a new URI
while handling the POST and return that URI with the results. That newly
created URI would allow you to do a GET to perform the same query
as the inital POST.
-joe
--
Joe Gregorio http://bitworking.org
|