Hello,
I am trying to filter ION API (Odata API) by using the value from the incoming document BOD (Process.Workflow).
There are two filtering options “Value” or “Path”, I use the path option to get the incoming value (Value in the path field : "ProcessWorkflow/DataArea/Workflow/Property/NameValue[@name='StyleId']"). This way i can get the incoming value but it is not working when i test the result.
Current values:
filter path value in "Request parameters" tab : ProcessWorkflow/DataArea/Workflow/Property/NameValue[@name='StyleId']
incoming "StyleId" value from this path : 108
ION API to filter: GET: FASHIONPLM/odata/api/odata/STYLEVARIATION
Test Result Request Paremeter: $filter :108

Response: "ION API invocation failed, please see details below : Response code : 400, Response message : Bad Request and Response body : {"error":{"code":"","message":"The query specified in the URI is not valid. The $filter expression must evaluate to a single boolean value.","details":[],"innererror":{"message":"The $filter expression must evaluate to a single boolean value.","type":"Microsoft.OData.ODataException","stacktrace":" at Microsoft.OData.UriParser.FilterBinder.BindFilter(QueryToken filter)
at Microsoft.OData.UriParser.ODataQueryOptionParser.ParseFilterImplementation(String filter, ODataUriParserConfiguration configuration, ODataPathInfo odataPathInfo)
at Microsoft.OData.UriParser.ODataQueryOptionParser.ParseFilter()
at Microsoft.AspNet.OData.Query.FilterQueryOption.get_FilterClause()
at Microsoft.AspNet.OData.Query.Validators.FilterQueryValidator.Validate(FilterQueryOption filterQueryOption, ODataValidationSettings settings)
at Microsoft.AspNet.OData.Query.Validators.ODataQueryValidator.Validate(ODataQueryOptions options, ODataValidationSettings validationSettings)
at Microsoft.AspNet.OData.EnableQueryAttribute.ValidateQuery(HttpRequest request, ODataQueryOptions queryOptions)
at Microsoft.AspNet.OData.EnableQueryAttribute.<>c__DisplayClass1_0.<OnActionExecuted>b__3(ODataQueryContext queryContext)
at Microsoft.AspNet.OData.EnableQueryAttribute.ExecuteQuery(Object responseValue, IQueryable singleResultCollection, IWebApiActionDescriptor actionDescriptor, Func`2 modelFunction, IWebApiRequestMessage request, Func`2 createQueryOptionFunction)
at Microsoft.AspNet.OData.EnableQueryAttribute.OnActionExecuted(Object responseValue, IQueryable singleResultCollection, IWebApiActionDescriptor actionDescriptor, IWebApiRequestMessage request, Func`2 modelFunction, Func`2 createQueryOptionFunction, Action`1 createResponseAction, Action`3 createErrorAction)"}}}.
x-transaction-id : d0e6462c-95be-90cf-af1c-a665c3c56529"
Expected Value
Requested Parameters : $filter: StyleId eq 108
Response:
{
"@odata.context": "">prd-euc1.fplm.eu1.inforcloudsuite.com/.../$metadata
"value": [
{
"Id": 7,
"StyleId": 108,
"ParentId": 103,
"MasterId": 103,
"IsCarryOver": 0,
"IsVariant": 1,
"IsDeleted": 0
}
]
}
There should be an equation part in the path value but i couldnt find correct way to define this path. It should be like this Value eq ‘IncomingValue’ such as StyleId eq ‘108’
Is there any one who wants to share the experience many thanks in advanced?
