Uploaded image for project: 'Spring Web Services'
  1. Spring Web Services
  2. SWS-867

MethodReturnValueHandler implementations should support null return values from endpoints

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.1.4
    • Fix Version/s: 2.2.RC1
    • Component/s: OXM
    • Labels:
      None

      Description

      Here is an example Endpoint...

      @Endpoint
      @Address("urn:schemas-xmlsoap-org:ws:2005:04:discovery")
      public class WsDiscovery {
          
          private static final String ENDPOINT_REFERENCE = "uuid:f7a32a18-5205-46f1-b296-e0f6ac9de7ed";
       
          @Action(value = "http://schemas.xmlsoap.org/ws/2005/04/discovery/Resolve", output = "http://schemas.xmlsoap.org/ws/2005/04/discovery/ResolveMatches")
          public @ResponsePayload JAXBElement<ResolveMatchesType> handleResolve(@RequestPayload JAXBElement<ResolveType> element) {
              if (ENDPOINT_REFERENCE.equals(element.getValue().getEndpointReference().getAddress())) {
                  
                  return new ObjectFactory().createResolveMatches(new ResolveMatchesType());
              }
              
              return null;
          }
      }

      In the case where we the ENDPOINT_REFERENCE doesn't match, we don't want to send a response at all, and so the method returns 'null'. However, in all but the AbstractPayloadSourceMethodProcessor implementations, either a NullPointerException or IllegalArgumentException (from the Assert.notNull) will be thrown.

      I believe handling null return values by suppressing the sending of a response is the most consistent approach, given that this is what Spring MVC does.

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        7h 31m 1 Arjen Poutsma 20/Mar/14 6:07 AM

          People

          • Assignee:
            arjen.poutsma Arjen Poutsma
            Reporter:
            mccarl Phil McCarley
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: