APAR status
Closed as program error.
Error description
The productview/byCategory search REST API allows you to retrieve information on all the products under a particular category. For example, if you want to retrieve the products under category with catgroup_id 10001, you would execute a request like so: ".../productview/byCategory/10001?..." However, if you don't specify a category, it will be incorrectly processed as if you executed a productview/byPartNumber request. This can be confusing as you will get an error about incorrect search profile being used, even though the issue is really with the incorrect handling of the request: { "errors": [ { "errorKey": "ERR_INVALID_ENUMERATION", "errorParameters": "profileName,IBM_BreadCrumbByCategoryUniqueId,[IBM_findProductBy PartNumber_Details, IBM_findProductByPartNumber_Summary]", "errorMessage": "CWXFR0229E: Parameter \"profileName\" is invalid with value \"IBM_BreadCrumbByCategoryUniqueId\". Potential valid value(s) : [IBM_findProductByPartNumber_Details, IBM_findProductByPartNumber_Summary]. ", "errorCode": "CWXFR0229E", "errorLevel": "SEVERE" }, { "errorKey": "_ERR_GENERIC", "errorParameters": "[Return code : Bad Request, Level : SEVERE, Code : CWXFR0229E, Key : ERR_INVALID_ENUMERATION, Message : CWXFR0229E: Parameter \"profileName\" is invalid with value \"IBM_BreadCrumbByCategoryUniqueId\". Potential valid value(s) : [IBM_findProductByPartNumber_Details, IBM_findProductByPartNumber_Summary]. , Parameters : [profileName, IBM_BreadCrumbByCategoryUniqueId, [IBM_findProductByPartNumber_Details, IBM_findProductByPartNumber_Summary]], Cause : java.lang.IllegalArgumentException: CWXFR0229E: Parameter \"profileName\" is invalid with value \"IBM_BreadCrumbByCategoryUniqueId\". Potential valid value(s) : [IBM_findProductByPartNumber_Details, IBM_findProductByPartNumber_Summary]. ]", "errorCode": "_ERR_GENERIC", "errorLevel": "SEVERE" } ] }
Local fix
Scan all the code where such calls are made, and ensure that all path parameters are set.
Problem summary
USERS AFFECTED: All. PROBLEM ABSTRACT: Invalid error when values for mandatory parameters are missing from a /productview API call. BUSINESS IMPACT: Misleading errors in the logs. RECOMMENDATION:
Problem conclusion
1. Return 404 for all productview methods which expect a path parameter when it is not set. 2. Deprecated the /productview/{partNumber} method 3. Created new end point to handle search by part number, i.e. productview/byPartNumber/{partNumber}
Temporary fix
Comments
APAR Information
APAR number
JR60920
Reported component name
WC BUS EDITION
Reported component ID
5724I3800
Reported release
900
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-04-03
Closed date
2019-05-24
Last modified date
2019-05-24
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WC BUS EDITION
Fixed component ID
5724I3800
Applicable component levels
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYSYL","label":"WebSphere Commerce Enterprise"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
24 May 2019