uCosminexus Application Server, Web Service Development Guide
This subsection describes the precautions for mapping Java to WSDL.
When you generate a JavaBean (request bean, response bean, and fault bean), the generics type is deleted. The following table describes an example of deleting the generics type:
Table 16-10 Example of deleting the generics type
| Before type is deleted | After type is deleted |
|---|---|
| T# | NumbersData |
| List<E> | List<java.lang.Object> |
| List<? extends NumbersData> | List<NumbersData> |
| List<? super NumbersData> | List< java.lang.Object > |
| Map<K, V> | Map< java.lang.Object, java.lang.Object > |
| Map<? extends NumbersKey, ? extends NumbersData> | Map<NumbersKey, NumbersData> |
| Map<? super NumbersKey, ? super NumbersData> | Map< java.lang.Object, java.lang.Object > |
| Iterator<E> | Iterator< java.lang.Object > |
| Iterator<? extends NumbersData> | Iterator<NumbersData> |
| Iterator<? super NumbersData> | Iterator< java.lang.Object > |
| List<List<? extends NumbersData>> | List<List<NumbersData> |
Even if the method argument and return value is customized using the javax.jws.WebParam and javax.jws.WebResult annotations, the generics type is deleted (customization is also enabled). Also, regardless of whether the method argument and return value is the wrapper style or non-wrapper style, the generics type is deleted. Note that when the method argument and the return value are of the non-wrapper style, the generics type is not deleted.
The Cosminexus JAX-WS functionality complies with Comformance 3.14 of the JAX-WS 2.2 specifications. During the execution of the command, the following JAXB annotations are interpreted as and when required:
The Cosminexus JAX-WS functionality does not support the MIME binding.
In the annotation processor provided by the JAX-WS functionality of Cosminexus, the javax.xml.bind.annotation.XmlMimeType annotation is interpreted for the wrapper style, but not for the non-wrapper style.
If arguments and return values other than the SEI and service implementation class are annotated using these JAXB annotations, the operations might not function properly.
In the annotation processor provided by the Cosminexus JAX-WS functionality, the javax.xml.bind.annotation.XmlJavaTypeAdapter annotation and javax.xml.bind.annotation.XmlMimeType annotation are interpreted when the argument and return value of the SEI or service implementation class or JavaBean fields are annotated. If a package, interface, or class is annotated, the operations might not function properly.
When you invoke a developed Web Service, if a sub-class of the Web Service arguments and return values is used, an error occurs. To invoke a Web Service normally, the sub-class must be linked by the javax.xml.bind.annotation.XmlSeeAlso annotation when you define the SEI and Web Service Implementation Class.
You can use the generics type in the method argument and the return value for the wrapper style, but not for the non-wrapper style.
All Rights Reserved. Copyright (C) 2013, Hitachi, Ltd.