Change Guardian CAF console producing rpc error

0 Likes

Environment

Change Guardian 5.2
Change Guardian 6.0
Change Guardian 6.1

Situation

In some CG appliance environments, a RPC Communication error shows, opening CAF console, when selecting:
- Digital Certificates
- System Services
- Product or Online Upgrade
****output******
com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException: Type 'com.google.gwt.user.client.rpc.XsrfToken' was not assignable to 'com.google.gwt.user.client.rpc.IsSerializable' and did not have a custom field serializer. For security purposes, this type will not be deserialized.

Resolution

One step before following below instructions, you need to take a backup of root.war file. And only then follow the steps as mentioned.


1. Goto this folder:
cd /opt/novell/common-service/webapps

2. Extract root.war file:
jar xvf root.war
3. Edit the BaseTemplate.jsp file:

vi WEB-INF/jsp/BaseTemplate.jsp
Add the following lines
<meta name="gwtCsrfName" content="${_csrf.parameterName}" />
<meta name="gwtCsrfToken" content="${_csrf.token}" />

After adding the GwtModule section should be like this:

<%-- GWT module, included when a gwtPresenter is provided in the tiles config file.
This will cause a client-side Presenter class (annotated with @NameToken("GWT_PRESENTER_NAME") to be called. --%>
<tiles:useAttribute id="gwtPresenter" name="gwtPresenter" />
<c:if test="${!empty gwtPresenter}"><!-- GWT Module -->
<meta name="gwt:property" content="locale=en" /> <%-- TODO: Determine this at runtime --%>
<meta name="gwtPresenter" content="${gwtPresenter}" />
<meta name="gwtCsrfName" content="${_csrf.parameterName}" />
<meta name="gwtCsrfToken" content="${_csrf.token}" />
<script type="text/javascript" language="javascript" src="${ctxPath}/resources/gwt/GwtModule/GwtModule.nocache.js"></script>
<!-- / GWT Module -->
</c:if>

4. Recreate root.war file:
jar cvf root.war META-INF WEB-INF resources
5. Restart following services:
systemctl restart vabase-datamodel
systemctl restart vabase-jetty.service
systemctl restart vabase.service

6. Check all the service status:
systemctl status vabase-datamodel.service vabase-jetty.service vabase.service

7. Clear the browser cache and cookies, and login.

Cause

Incomplete upgrade caused some lines to be missing in this file:
BaseTemplate.jsp file.
 
The CSRF token management was not present in webserver\9443.
We have included these changes in CG, and 6.2.0.0 ongoing release

Labels:

Support Tips/Knowledge Docs
Comment List
Related
Recommended