Closed petkivim closed 8 years ago
Added new properties to ProviderGateway that make it possible to solve the issue using parameter filtering. The below properties must added for the service in providers.properties
file.
x.reqParamNameFilterCondition=(id)
x.reqParamNameFilterOperation=$1[]
With the above configuration in place in ProvideGateway the service call for ConsumerGateway looks like this:
http://localhost:8080/rest-gateway-0.0.9/Consumer/api.finna.fi/v1/record?id=fennica.123
ProviderGateway then filters the parameters according the given rules and the actual service URL likes this:
https://api.finna.fi/v1/record?id[]=fennica.123
The below REST Gateway request throws an exception.
The exception is caused by
[]
characters that are special characters in XML. The numeric character reference should be used instead of the character for parameter values. In this case[]
characters are in the parameter name which is why they cannot be used even with numeric character reference, because REST Gateway uses parameter names as XML element names.