We recently upgraded to spring 3.2.4 from 3.0.0 and experienced a change in how UrlResource/AbstractFileResolvingResource work.
When the AbstractFileResolvingResource methods exists(), lastModified() and lastModified() are invoked on HTTP url resources, the http lookups are now performed as HTTP HEAD requests instead of in earlier releases that fetched the entire data.
In most situations this approach is very appropriate and reduces required network traffic.
However some less intelligently behaving remote services return 405 on HEAD requests, requiring that we subclass the resource type or implement it from scratch to avoid calls to the above methods (especially exists()) return an invalid response.
It would be great if it was possible to define what method to use on such requests as a property on AbstractFileResolvingResource alternatively on UrlResource, or to enable the URLResource to use the old way of handling those methods.
Would a protected customizeConnection(HttpURLConnection) method on AbstractFileResolvingResource help for your purposes? You could easily create a custom subclass of UrlResource then, overriding customizeConnection to set request method GET - or simply as a no-op, overriding the default HEAD setting to rely on the default which is GET anyway.