public interface JAXBContextFactory
JAX-WS uses JAXB to perform databinding when you use the service endpoint interface, and normally
the JAX-WS RI drives JAXB and creates a necessary
This annotation is a JAX-WS RI vendor-specific feature, which lets applications create
(which is the JAXB RI's
Combined with the JAXB RI vendor extensions defined in
JAXBRIContext, appliation can use this to
fine-tune how the databinding happens, such as by adding more classes to the binding context,
by controlling the namespace mappings, and so on.
|Modifier and Type||Field and Description|
The default implementation that creates
@NotNull JAXBRIContext createJAXBContext(@NotNull SEIModel sei, @NotNull List<Class> classesToBind, @NotNull List<TypeReference> typeReferences) throws JAXBException
JAXBRIContextfor the given SEI.
SEIModelobject being constructed. This object provides you access to what SEI is being processed, and therefore useful if you are writing a generic
JAXBContextFactorythat can work with arbitrary SEI classes.
classesToBind- List of classes that needs to be bound by JAXB. This value is computed according to the JAX-WS spec and given to you. The calling JAX-WS runtime expects the returned
JAXBRIContextto be capable of handling all these classes, but you can add more (which is more common), or remove some (if you know what you are doing.) The callee is free to mutate this list.
typeReferences- List of
TypeReferences, which is also a part of the input to the JAXB RI to control how the databinding happens. Most likely this will be just a pass-through to the
JAXBRIContext.newInstance(java.lang.Class, java.util.Collection<com.sun.xml.internal.bind.api.TypeReference>, java.util.Map<java.lang.Class, java.lang.Class>, java.lang.String, boolean, com.sun.xml.internal.bind.v2.model.annotation.RuntimeAnnotationReader)method.
JAXBException- If the callee encounters a fatal problem and wants to abort the JAX-WS runtime processing of the given SEI, throw a
JAXBException. This will cause the port instantiation to fail (if on client), or the application deployment to fail (if on server.)