Last changed: 2025-08-20
A list of behaviour discrepances between old service and new
To make use of moder infrastructure in our cloud native environment our services needs to get an upgrade if its technology stack. This has a a consequence that some error messages and other outlying behaviour is different. We foresee no major problem for our clients by this, but we note all our findings here for your convienience.
The filter item (product filters) has a built-in field "type", that the jsonserializer handles differently in the new .net service.
The old one has it named "__type" with a longer name and the new calls it "$type" with a short name. The field is created by the serializer and cannot be easily changed, but we expect it pose not big problem for the clients.
Example 1.1 - Old service
{
"__type": "FilterItem:Enferno.Services.Contracts.Expose.Products",
"Id": "11",
"Name": "Chain saws",
"Value": "11",
"Type": null,
"Uom": null,
"Count": 1,
"Description": null,
"Code": null,
"SortOrder": null
}
Example 1.2 - New service
{
"$type": "FilterItem",
"Id": "11",
"Name": "Chain saws",
"Value": "11",
"Type": null,
"Uom": null,
"Count": 1,
"Description": null,
"Code": null,
"SortOrder": null
}
- ListProductFilters
- ListProductFiltersByIds
- ListProductFiltersByCustomer
- ListProductFiltersByPriceList
New service returns 204 No content instead of 200 OK, when there is no result on a search or listing call and no data in body.
- Search and listings
- Get (when no item exists)
AsVariants is not used by filter methods and is removed from new service.
- ListProductFilters
- ListProductFiltersByIds
- ListProductFiltersByCustomer
- ListProductFiltersByPriceList
The new service uses linux components and will return result based on unix line breaks standards where applicable. This means that the old service returns \r\n but the new will return \n.
- HTML-formated texts
- HTML-formated text parametrics
- Description fields, like payment method description on checkout objects.
- Similar description fields
Some of the results returned by web host are different, for example 401 Unauthorized. The .net 9 version gives out more information about the error, while the old version just returns a generic html formatted response from the web server.
Example 2.1 - Old service

Example 2.2 - New service
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.2",
"title": "Unauthorized",
"status": 401,
"traceId": "00-9842cf3cf079f14972ee3fb677eea195-990d598e9a426d98-01"
}
Example 3.1 - Old service

Example 3.2 - New service
{
"title": "Invalid header",
"status": 401,
"detail": "Header ApplicationId is missing."
}
According to all our logs, no-one uses xml anymore, so we have removed the format parameter and JSON is always returned.
Empty result is returned differently. Old service returns empty object {}, but new service will return null.
This is because the serializer works differently.
Get methods, list and search methods
- GetCompanyByOrgNo
- SearchOrder
- among others