-
Bug
-
Resolution: Done
-
Major
-
jbossws-2.0.0, jbossws-2.0.1
-
None
I have written a web service with a parameter and a return value.
the method is like:
ListLocation calculate (ListLocation)
The parameter is something like:
class ListLocation {
private List<LocationImpl> list;
}
class LocationImpl{...}
class Cabin extends LocationImpl
{...}class TechCabin extends LocationImpl{...}
so I added the @XmlSeeAlso (
{Cabin.class, TechCabin.class}) annotation to the LocationImpl class.
I can now deploy the web service and the wsdl gets generated in a proper way.
The first thing I did to test the service was writting a simple client which creates a Cabin and a TechCabin instance and adds these two instances to the ListLoaction list and passes it to the web service. For this I used the classes I coded.
With this setup everything worked fine and the service was able to cast the list members to the proper type. So the type substitution worked well.
But I need the test the Schema2Java approach, too.
So I consumed the WSDL with wsconsume and the -t 2.1 switch.
(wsconsume -k -p com.titan.domain.generated -w http://127.0.0.1:8080/OR19.1TC/TravelAgentBean?wsdl -s d:\TC\source1\ -o d:\TC\output1\ -t 2.1 http://127.0.0.1:8080/OR19.1TC/TravelAgentBean?wsdl)
I addopted the client to use the generated classes. But here the type substitution doesn't work. The list only contains LocationImpl instances.