You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

To augment a web service

This is an example for adding point in time to getMembers

  • In GrouperService, add two params to getMembers and getMembersLite: String pointInTimeFrom, String pointInTimeTo
    • If they are equal, then do it at one point in time, if both filled in, then a range, if one filled in, then assume the other is the minimum point in time or right now
    • Note, this class is what our WSDL is based on, so dont add another extra methods there
    • Note, this is what the SOAP messages will look like, so the only inputs or outputs should be valid fields: strings, beans (with valid fields), bean arrays or string arrays
    • Note, the names of the fields are the names in the soap messages, so dont abbreviate, and use something descriptive
    • Make sure there is good javadoc about these params
    • Convert them to timestamps, and pass to grouperServiceLogic
 Timestamp pointInTimeFromTimestamp = GrouperServiceUtils.stringToTimestamp(pointInTimeFrom);
  • In GrouperServiceLogic, add the two params to getMembers and getMembersLite
    • Dont add extra methods to this class either
    • Make the params the real time (i.e. Timestamp), but use the same param name as GrouperService
    • Use the same Javadoc
    • Note that these two new params might not be compatible with all existing params, not sure.  If that is the case, do validation in the try catch after the "summary" is created, and throw a WsInvalidQueryException
    •  
  • No labels