When the FUSE Services Framework runtime reads and writes XML data it uses a map that associates the XML Schema types with their
representative Java types. By default, the map contains all of the types defined in the target namespace of the WSDL contract's
schema
element. It also contains any types that are generated from the namespaces of any schemas
that are imported into the WSDL contract.
The addition of types from namespaces other than the schema namespace used by an application's
schema
element is accomplished using the @XmlSeeAlso
annotation. If your application needs to work with types that are generated outside the scope of your application's WSDL document,
you can edit the @XmlSeeAlso
annotation to add them to the JAXB map.
The @XmlSeeAlso
annotation can be added to the SEI of your service. It contains a comma
separated list of classes to include in the JAXB context. Example 10.7 shows the
syntax for using the @XmlSeeAlso
annotation.
Example 10.7. Syntax for Adding Classes to the JAXB Context
import javax.xml.bind.annotation.XmlSeeAlso; @WebService() @XmlSeeAlso({Class1
.class,Class2
.class, ...,ClassN
.class}) public class GeneratedSEI { ... }
![]() | Tip |
---|---|
In cases where you have access to the JAXB generated classes, it is more efficient to use the
|
Example 10.8 shows an SEI annotated with
@XmlSeeAlso
.
Example 10.8. Adding Classes to the JAXB Context
...
import javax.xml.bind.annotation.XmlSeeAlso;
...
@WebService()
@XmlSeeAlso({org.apache.schemas.types.test.ObjectFactory.class,org.apache.schemas.tests.group_test.ObjectFactory.class})
public interface Foo {
...
}