Date: Thu, 28 Mar 2024 13:25:19 +0000 (UTC) Message-ID: <1925562036.6459.1711632319773@ip-10-10-7-29.ec2.internal> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_6458_128062684.1711632319772" ------=_Part_6458_128062684.1711632319772 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Grouper 2.0 web service servers will accept clients coded against the Gr= ouper 1.6 or previous WS API's. The 2.0 protocol is not exactly compa= tible with the 1.6 protocol, so both protocols run in the Grouper 2.0 WS se= rver.
Grouper RESTlike is automatic marshaling to/from XML/JSON based on Javab= ean, but the marshaling will not marshal null data (this is good). Th= e 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 cond= itional 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, buil= d script entry, etc. The 1.6 WSDL is on the = 2.0 server under the same name, the new one is:Gr= ouperService_v2_0.wsdl. the new WSDL does have a new target names= pace too:
<wsd= l:definitions xmlns:wsdl=3D"http://schemas.xmlsoap.org/wsdl/" xmlns:axis2=3D"http://soap_v2_0.ws.grouper.middleware.internet2.edu" xmlns:ns1=3D"http://org.apache.axis2/xsd" xmlns:ns=3D"http://soap_v2_0.ws.grouper.middleware.internet2.edu/xsd" xmlns:wsaw=3D"http://www.w3.org/2006/05/addressing/wsdl" xmlns:http=3D"http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs=3D"http://www.w3.org/2001/XMLSchema" xmlns:mime=3D"http://schemas.= xmlsoap.org/wsdl/mime/" xmlns:soap=3D"http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12=3D"http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace=3D"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 facil= ities 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), cha= nge 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 acc= ordingly.
Note, this means developer as in developers who work on Grouper itself, = not developers who are writing web service clients or implementing Grouper.=
If you are changing a transfer object, or editing the signatures in core= soap.GrouperService, then you also need to edit the corresponding GrouperSe= rvice that you want it to be available for. Typically we dont edit th= e historical backwards compatible versions, you would only add it to the la= test version, e.g. soap_v2_0.GrouperService, or the soap_v2_0.WhateverTrans= ferObject