Version 1.1, 12th January 2004
SRW uses XML over HTTP in order to convey its messages between client and server. It specifies the use of SOAP, a W3C recommendation. The SOAP specification specifies how to wrap the XML message in further XML such that a consistent framework can be built. The SRW specification also tries to adhere to the Web Services Interoperability recommendations.
SRW clients and servers must support SOAP version 1.1. They may support version 1.2 or later. This is to allow the most flexibility in implementation as possible.
If there is ever a doubt as to whether to return a SOAP fault or an SRW diagnostic, then the diagnostic is the preferred solution, as the client must support the diagnostics and toolkits may not handle SOAP faults as gracefully (see below).
The SOAPAction HTTP header may be present in a request, but should not be required for SRW implementations.
There are some SOAP examples available for SRW.
This phrase, coined by one of the designers of SRW, refers to the fact that different toolkits make some things easy to accomplish where they might be extremely arcane in others. In designing SRW, we have tried to take a good cross sample of well supported, standards compliant toolkits and taken the line of least resistance. Thus if you ever think, 'Why is it done like that?!', the answer is probably that it was easiest to do it that way while remaining standards compliant.