When we go to agent management and click on an agent to view its properties, the new window that launches is blurred out. We have noticed this for servers that have hostnames similar to: servername.domain.com
Release : < 6.7.4
Component : CA RELEASE AUTOMATION CORE
We checked and can confirm that the problem is indeed caused by Spring MVC that we use in the product backend.
Reachable agent nimi id is: server1.abc.testlab.net => request URL will contain : /datamanagement/a/v6/agents/server1.abc.testlab.net => ".net" is not a classic recognizable file extension and cannot be mapped to any content type so it's ignored and the request is processed normally.
Reachable agent nimi id is: server1.abc.testlab.xml
=> request URL will contain : /datamanagement/a/v6/agents/server1.abc.testlab.xml
=> ".xml" is a recognizable file format so the content type requested by the client is inferred as text (e.g. "text/xml" or "text/*). The controller processing the request returns JSON which also corresponds to text content type ("text/*") and it matches what was inferred for the client so the request is again processed normally.
Reachable agent nimi id is: server1.abc.testlab.com
=> request URL will contain : /datamanagement/a/v6/agents/server1.abc.testlab.com
=> ".com" is a classic recognizable file format so the content type requested by the client is inferred as binary ("application/octet-stream"). But there is still only one controller on the server for this URL and the content type that it can produce is still "text/*" so there is a mismatch and the error response 406 is returned.
The recently released cumulative 6.7.4 includes the same configuration change as suggested below. Please refer the Release Notes for 6.7.4 for additional details of what else is included in the cumulative fix.
The reason this mechanism exists is that backend may want to process requests with different requested content types differently and that's how Spring MVC allows doing so. The setting mentioned below will disable content type inference based on file extension for the whole application.
<mvc:annotation-driven/>
<bean id="contentNegotiationManager" class="org.springframework.web.accept. ContentNegotiationManagerFacto ryBean">
<property name="favorPathExtension" value="false" />
</bean>
<mvc:annotation-driven content-negotiation-manager="contentNegotiationManager"/>