Enunciate
  1. Enunciate
  2. ENUNCIATE-319

review and clean-up GWT client libraries

    Details

    • Type: Task Task
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Incomplete
    • Affects Version/s: 1.13
    • Fix Version/s: 1.15
    • Component/s: None
    • Labels:
      None
    • Number of attachments :
      0

      Description

      With GWT 1.5 and generics, there's really no need anymore for the generated callbacks that unwraps the parameter type.

      Also, we need to consider an option to just repackage the server-side types into the client-side types.

        Activity

        Hide
        Ryan Heaton added a comment -

        Checked into SVN head is the code that no longer generates the GWT callbacks that unwrap the parameter type, in favor of just exposing a parameterized AsyncCallback parameter to the Async service. This has simplified the generated code. Samples and documentation have also been updated. In order to support this simplification, Enunciate will no longer support GWT 1.4 as of release 1.15.

        A lot of thought and investigation was done into supporting the use of the server-side types on the client-side. This was determined to be currently unworkable. The reason for this is because the Enunciate GWT module was designed to expose existing JAX-WS service endpoints as GWT endpoints. Since GWT and JAX-WS/JAXB have different rules and constraints on the objects and service interface, Enunciate had to provide a "mapping" layer between the JAX-WS endpoints and the GWT endpoints. The mappers that Enunciate provides to support this functionality rely on certain conventions in the GWT objects, and these conventions are applied in the generated code. Using the server-side types directly could break the mapping layer.

        Show
        Ryan Heaton added a comment - Checked into SVN head is the code that no longer generates the GWT callbacks that unwrap the parameter type, in favor of just exposing a parameterized AsyncCallback parameter to the Async service. This has simplified the generated code. Samples and documentation have also been updated. In order to support this simplification, Enunciate will no longer support GWT 1.4 as of release 1.15. A lot of thought and investigation was done into supporting the use of the server-side types on the client-side. This was determined to be currently unworkable. The reason for this is because the Enunciate GWT module was designed to expose existing JAX-WS service endpoints as GWT endpoints. Since GWT and JAX-WS/JAXB have different rules and constraints on the objects and service interface, Enunciate had to provide a "mapping" layer between the JAX-WS endpoints and the GWT endpoints. The mappers that Enunciate provides to support this functionality rely on certain conventions in the GWT objects, and these conventions are applied in the generated code. Using the server-side types directly could break the mapping layer.
        Hide
        Ryan Heaton added a comment -

        closing with 1.15 release

        Show
        Ryan Heaton added a comment - closing with 1.15 release

          People

          • Assignee:
            Ryan Heaton
            Reporter:
            Ryan Heaton
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: