Notification with / in name attribute is not processed by EDAA and throws error 404 - Not found.
Example notifications : IF-<InterfaceName>/18 [lan1_0]
TEMP-<TempName>/1012 [Switch 1 - Inlet Temp Sensor, GREEN ]
IF-
<InterfaceName>
/10_Down
Error observed:
HTTP Status 404 - Not found
SMARTS - 10.1.x
TCSA - 2.x
According to RFC 3986 (RFC986_Link), below special characters are reserved as sub-delimiters.
reserved = gen-delims / sub-delims
gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
Thus tomcat disables encoded slashes for security reasons by default.
In Smarts, post request looks as below:http://localhost:8080/smarts-edaa/msa/servicename/instances/className::instanceName/action/action_name
Hence when a notification contains "/" in URL; Smarts is expecting it as action.
catalina.properties
located under <SAM_BASE>/smarts/tomcat/conf/ and add line: org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true../sm_service stop smarts-tomcat
./sm_service start smarts-tomcat
Workaround: http://localhost:8080/smarts-edaa/msa/INCHARGE-SA/instances/ICS_Notification::NOTIFICATION-Interface_PerformanceCiscoRouter_I-InterfacePerformanceCiscoRouter-IF-<InterfaceName>~2F8_HighUtilization"
Unable to create tickets in third party ticking tools (ServiceNow) where Smarts-EDAA acts as source.