Versions Compared

Key

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

Include Page
spaceKeyGrouper
pageTitleNavigation

Grouper Web Services

Grouper 2.0 web service servers will accept clients coded against the Grouper 1.6 or previous WS API's.  The 2.0 protocol is not exactly compatible with the 1.6 protocol, so both protocols run int he in the Grouper 2.0 WS server.

Grouper RESTlike is automatic marshaling to/from XML/JSON based on Javabean, but the marshaling will not marshal null data (this is good).  The Grouper WS client passes in its version, and if it is less than 2.0, the new fields will be null, and the response is backwards compatible (does not contain the field).

Grouper SOAP uses auto-marshaling from Axis2 which does not support conditional fields (if null, it send back the field and says it is null).  So there is a new source path for 2.0, WSDL, and a new endpoint, aar, build script entry, etc.  The 1.6 WSDL is on the 2.0 server under the same name, the new one is:GrouperService_v2_0.wsdl.  the new WSDL does have a new target namespace too:

Code Block

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:axis2="http://soap_v2_0.ws.grouper.middleware.internet2.edu"
xmlns:ns1="http://org.apache.axis2/xsd"
xmlns:ns="http://soap_v2_0.ws.grouper.middleware.internet2.edu/xsd"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
targetNamespace="http://soap_v2_0.ws.grouper.middleware.internet2.edu">

...

Bottom-line, the SOAP and RESTlike web services are completely backward compatible, and for SOAP, if you are coding against 2.0 (or upgrading), change the endpoint URL from GrouperService to GrouperService_v2_0.  Note, it will be 2.0 until there is a change that is not backwards compatible... that might be 2.1, or 2.2, or whatever.

Note, if your servlet is not grouperWs (e.g. grouper-ws) then adjust accordingly.

...