Screen every WSDL-loading path, not just the client-side one

wsdl4j parses with its own unhardened parser and fetches the import chain
itself, so a DOCTYPE anywhere in a WSDL was an XXE in whichever JVM read it.
SecureWSDLLocator screened only createClientSideAxisService, and it fetches
over http/https alone, so it cannot serve the paths that load from a file, an
archive, the classpath or a catalog. HardenedWSDLLocator separates screening
from resolution: a delegate locator keeps its own catalog or archive behaviour
and only its bytes are screened, and a bare relative path still loads, which is
what wsdl4j accepts and what codegen passes. Wired into the JAX-WS loader, the
runtime reload wrapper, the deployment builder's resolver path and WSDL2Java.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
8 files changed