Uploaded image for project: 'JBoss Web Services'
  1. JBoss Web Services
  2. JBWS-1795

Type Substitution doesn't work with Schema2Java Client approach

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        Activity

          People

            ropalka Richard Opalka
            m_schumpa Markus Schumpa (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: