Beehive
  1. Beehive
  2. BEEHIVE-877

WebService / WebMethod rules changed in latest spec

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: v1m1
    • Fix Version/s: 1.0.1
    • Component/s: Web Services (181)
    • Labels:
      None
    • Environment:
      dist built from SVN

      Description

      The JSR-181 specification has a change that defines the rules for when a method should be exposed as a Web method.

      — JSR-181 v0.9.2 (Dec '04)
      If the implementation bean does not implement a service endpoint
      interface, it must include @WebMethod annotations on each method that is
      to be exposed as a Web Service operation. More information on the
      @WebMethod annotation may be found in section 5.2.

      — JSR-181 v1.0 (June '05)
      If the implementation bean does not implement a service endpoint
      interface, all public methods other than those inherited from
      java.lang.Object will be exposed as Web Service operations. This
      behavior can be overridden by using the WebMethod annotation to specify
      explicitly those public methods that are to be exposed. If a WebMethod
      annotation is present, only the methods to which it is applied are
      exposed.

      1. BEEHIVE-877-patch.txt
        13 kB
        Jeremiah Johnson

        Activity

        Hide
        Jeremiah Johnson added a comment -

        BEEHIVE-877-patch.txt is a patch that I would suggest for use in implementing the JSR-181 change. 9 tests are added in the WSM DRT suite to validate functionality defined in section 3.1 of the JSR-181 v1.0 spec. If this patch is applied, you will need to issue 'svn add' on the following 3 files:

        wsm/drt/tests/org/apache/beehive/wsm/test/axis/wsdl/WebMethodOverrideTest.java
        wsm/drt/webapp/WEB-INF/src-ws/webservice/AllPublicMethods.java
        wsm/drt/webapp/WEB-INF/src-ws/webservice/WebMethodOverride.java

        IMPORTANT: don't apply this patch without changing the WSM implementation because it would break the build. The AllPublicMethods Web service has non-public methods in it and even though they don't use the WebMethod annotation, the build breaks.

        Show
        Jeremiah Johnson added a comment - BEEHIVE-877 -patch.txt is a patch that I would suggest for use in implementing the JSR-181 change. 9 tests are added in the WSM DRT suite to validate functionality defined in section 3.1 of the JSR-181 v1.0 spec. If this patch is applied, you will need to issue 'svn add' on the following 3 files: wsm/drt/tests/org/apache/beehive/wsm/test/axis/wsdl/WebMethodOverrideTest.java wsm/drt/webapp/WEB-INF/src-ws/webservice/AllPublicMethods.java wsm/drt/webapp/WEB-INF/src-ws/webservice/WebMethodOverride.java IMPORTANT: don't apply this patch without changing the WSM implementation because it would break the build. The AllPublicMethods Web service has non-public methods in it and even though they don't use the WebMethod annotation, the build breaks.
        Hide
        Eddie O'Neil added a comment -

        Fixed in SVN 329714.

        Show
        Eddie O'Neil added a comment - Fixed in SVN 329714.
        Hide
        Eddie O'Neil added a comment -

        Passing back to Jeremiah to verify at will.

        Show
        Eddie O'Neil added a comment - Passing back to Jeremiah to verify at will.

          People

          • Assignee:
            Jeremiah Johnson
            Reporter:
            Jeremiah Johnson
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development