glassfish
  1. glassfish
  2. GLASSFISH-10339

MEXEndpoint webservice is not deployed by the web container

    Details

    • Issuezilla Id:
      10,339

      Description

      STS web service endpoints use MEX endpoint as part of the deployed archive.

      The STS web service's web.xml has this entry:

      <servlet>
      <servlet-name>com.sun.xml.ws.mex.server.MEXEndpoint</servlet-name>
      <servlet-class>com.sun.xml.ws.mex.server.MEXEndpoint</servlet-class>
      <load-on-startup>0</load-on-startup>
      </servlet>

      However com.sun.xml.ws.mex.server.MEXEndpoint is not part of application war
      and it lives inside webservices-osgi.jar module. However the deployment fails as
      the WebScanner does not process the servlet-class which is not part of the web
      archive. This deploys fine in v2.

      STS services are deployed as part of OpenSSO and with many other places so its
      critical enough to support such use case.

      The original issue on Metro is: https://wsit.dev.java.net/issues/show_bug.cgi?
      id=1251

        Activity

        Hide
        vivekp added a comment -

        changed description.

        Show
        vivekp added a comment - changed description.
        Hide
        vivekp added a comment -

        Created an attachment (id=3534)
        STS testcase

        Show
        vivekp added a comment - Created an attachment (id=3534) STS testcase
        Hide
        Shing Wai Chan added a comment -

        According to Servlet 3.0 spec, one only have to scan WEB-INF/classes
        and WEB-INF/lib/*.jar within the war.
        One cannot add servlets in web.xml without looking at the web-fragment.jars as
        it may be have metadata-complete=true.

        For this particular case, per discussion, we will add those servlets
        if they are in parent class loaders.
        In this case, we assume delegate in sun-web.xml is true.

        Note the change below is only compatible an issue in v2.
        For new applications, one should rely on this feature. Instead, they should
        have the classpath set in manifest in order to have a portable JavaEE applications.

        deployment/dol/src/main/java/com/sun/enterprise/deployment/annotation/impl $ svn
        commit WarScanner.java
        Sending WarScanner.java
        Transmitting file data .
        Committed revision 32899.

        Show
        Shing Wai Chan added a comment - According to Servlet 3.0 spec, one only have to scan WEB-INF/classes and WEB-INF/lib/*.jar within the war. One cannot add servlets in web.xml without looking at the web-fragment.jars as it may be have metadata-complete=true. For this particular case, per discussion, we will add those servlets if they are in parent class loaders. In this case, we assume delegate in sun-web.xml is true. Note the change below is only compatible an issue in v2. For new applications, one should rely on this feature. Instead, they should have the classpath set in manifest in order to have a portable JavaEE applications. deployment/dol/src/main/java/com/sun/enterprise/deployment/annotation/impl $ svn commit WarScanner.java Sending WarScanner.java Transmitting file data . Committed revision 32899.

          People

          • Assignee:
            Shing Wai Chan
            Reporter:
            vivekp
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: