Thanks, I think you've spotted something I'd missed. I didn't get the error with "weighting=fastest", however I did get the error with "weighting=shortest", which was new. Previously I could change the weighting at runtime - and it returned different routes.
It turns out I had commented out the config setting 'routing.ch.disabling_allowed=true'. With this uncommented and ch.disable=true in the URL, I can select any provided weighting. However, I'm back to getting a weighting null not supported with my custom weighting:
2017-08-06 11:59:12,945 [qtp1525409936-35] ERROR com.graphhopper.http.GHBaseServlet - point=51.554874%2C-0.296631&point=51.482238%2C-0.181274&type=json&locale=en-US&vehicle=foot&weighting=custom&elevation=true&key=&ch.disable=true 0:0:0:0:0:0:0:1 en_US Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36 [51.554874,-0.296631, 51.482238,-0.181274], took:0.002968037, , custom, foot, errors:[java.lang.IllegalArgumentException: weighting null not supported]