In Service Desk Manager (SDM) 17.3 REST API, some fields are now INT instead of STRING like they were in SDM 17.2.
For example:
rest_access in SDM 17.2 (look at @COMMON_NAME or @REL_ATTR):
rest_access in SDM 17.3 (look at @COMMON_NAME or @REL_ATTR):
Service Desk Manager 17.3
REST API Web Services
All Supported Operating Systems
The reason for the differences between REST API in SDM 17.2 and 17.3 is because REST API in 17.2 used CXF 2.7.12 and as part of SDM 17.3, CXF was updated to 3.2.13 as part of security vulnerabilities.
CXF 3.2.13 has some changes with respect to how the annotations behave.
For the factory 'rest_access', bop_sinfo output shows:
Rel Attr = id
Common Name = access_key
Schema Name = usp_rest_access
Attributes:
id INTEGER
access_key INTEGER REQUIRED DISPLAY_NAME "Access Key" WRITE_NEW
For the annotations like "@id", "@REL_ATTR", "@COMMON_NAME", in case of rest_access:
@id refers to id which is an INTEGER field in the database and CXF 3.2.13 treats this strictly and shows up as an INTEGER
@REL_ATTR refers to id which is an INTEGER field in the database and CXF 3.2.13 treats this strictly and shows up as an INTEGER
@COMMON_NAME refers to access_key which is an INTEGER field in the database and CXF 3.2.13 treats this strictly and shows up as an INTEGER
For the factory 'in', bop_sinfo output shows:
Rel Attr = persistent_id
Common Name = ref_num
Schema Name = Call_Req
Attributes:
id INTEGER
persistent_id STRING(30)
ref_num STRING(30) REQUIRED DISPLAY_NAME "Request #" UI_INFO "+AUDITLOG()" WRITE_NEW
For the annotations like "@id", "@REL_ATTR", "@COMMON_NAME", in case of Incident:
@id refers to id which is an INTEGER field in the database and CXF 3.2.13 treats this strictly and shows up as an INTEGER
@REL_ATTR refers to persistent_id which is a STRING field in the database and CXF 3.2.13 treats this strictly and shows up as a STRING
@COMMON_NAME refers to ref_num which is a STRING field in the database and CXF 3.2.13 treats this strictly and shows up as a STRING
This is a change in behavior with the new CXF and is the correct behavior from the REST standards to show the attribute data type properly.
This means that changes will need to be made to the previous web services code to convert the integer also to string when using the fields.