The @SchemaValidation
annotation is not defined in the JAX-WS spec, but validation is left open. This means you need something more than only the classes in the jdk.
As long as you are able to add some jars to your classpath, you can set this up pretty easily using metro (which is also included in WebLogic. This is why you find solutions that use WebLogic as container.). To be more precise, you need to add two jars to your classpath. I’d suggest to
- download the most recent metro release.
- Unzip it somewhere.
- Add the
jaxb-api.jar
andjaxws-api.jar
to your classpath. You can do this for example by putting them into theJAVA_HOME/lib/endorsed
or by manually adding them to your project. This largely depends on the IDE or whatever you are using.
Once you have done this, your MyErrorHandler
should work even if it is deployed via Endpoint.publish()
. At least I have this setup locally and it compiles and works.
If you are not able to modify your classpath and need validation, you will have to validate the request manually using JAXB.