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

Compare with Current View Page History

« Previous Version 3 Next »

Grouper 2.0 has web services changes which are not backwards compatible.  This is the first time Grouper web services has this issue.  The part that isnt backwards compatible is sending back another attribute on an object that clients with a previous version are not expecting (e.g. if the attribute assignment is disallowed, or what the limits are on a permission).

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:

<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">

The 1.6 Javabeans are in a new source folder in 2.0, and there are facilities to auto-transform the 1.6 beans into 2.0 beans and vice versa.

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 to

  • No labels