Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Make sure that there is no coresoap (package) in use in src/grouper_ws_v1_6, src/grouper_ws_v2_0, etc.
  • Email Chris when done and committed so he can review the changes.
  • Should probably file a separate Jira report for changes to a web service operation so it gets communicated explicitly
  • If anything is missing, please edit this doc.  Thanks!

...

To add  a new web service

This is an example of adding getAuditEntries web service

  • In GrouperService, add getAuditEntries method. 
    • Note, this class is what our WSDL is based on
    • 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 the parameters
  • In GrouperServiceLogic, add the implementation
  • Add unit tests in GrouperServiceLogicTest
  • Add Rest Request classes: WsRestGetAuditEntriesLiteRequest and WsRestGetAuditEntriesRequest
  • Add getAuditEntriesLite and getAuditEntries in GrouperServiceRest class
  • Add new enum audits in GrouperWsRestGet. The word audits here means the path will end with audits
  • Rest samples are within the same module: grouper-ws. Add Rest tests WsSampleGetAuditEntriesRest and WsSampleGetAuditEntriesRestLite
  • Add the new classes to WsRestClassLookup
  • For Soap web services, we will need to generate new wsdl
    • Run java2wsdl ant goal from grouper-ws module
    • Refresh grouper-ws-java-generated-client module and the latest wsdl file should have been changed
    • Run wsdl2java ant goal from grouper-ws module. This will generate java client for the new endpoint
  • To test the new soap endpoint, write tests in grouper-ws-java-generated-client module. WsSampleGetAuditEntries and WsSampleGetAuditEntriesLite
  • Add tests in GrouperClientWsTest
  • Add operation in GrouperClient.java in grouperClient module
  • Add GcGetAuditEntries in grouperClient module
  • Add WsRestGetAuditEntriesRequest and WsGetAuditEntriesResults in grouperClient module
  • Make sure that there is no coresoap (package) in use in src/grouper_ws_v1_6, src/grouper_ws_v2_0, etc.
  • Email Chris when done and committed so he can review the changes.
  • Should probably file a separate Jira report for changes to a web service operation so it gets communicated explicitly
  • If anything is missing, please edit this doc.  Thanks!