on 2025 Jul 02 7:21 AM
Dear experts,
I attempted to add a fault rule in the ProxyEndpoint of an API Proxy to handle error exceptions within the API. However, after downloading the API proxy, modifying it locally to include the fault rule, and re-importing it into SAP API Management, I encountered the following error:
The fault rule we have added is :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ProxyEndPoint default="true" xmlns="http://www.sap.com/apimgmt">
<name>default</name>
<base_path>/v1/erp/pricingsimulator/poc</base_path>
<properties/>
<routeRules>
<routeRule>
<name>default</name>
<targetEndPointName>default</targetEndPointName>
<sequence>1</sequence>
<faultRules/>
</routeRule>
</routeRules>
<faultRules>
<faultRule>
<name>NoAPIKeyError</name>
<condition>(fault.name = "FailedToResolveAPIKey")</condition>
<steps>
<step>
<policy_name>NoAPIKeyError</policy_name>
<condition> </condition>
<sequence>1</sequence>
</step>
</steps>
</faultRule>
<faultRule>
<name>InvalidAPIKeyError</name>
<condition>(fault.name = "InvalidApiKey")</condition>
<steps>
<step>
<policy_name>InvalidAPIKeyError</policy_name>
<condition> </condition>
<sequence>1</sequence>
</step>
</steps>
</faultRule>
<faultRule>
<name>BasicAuthMissing</name>
<condition>(BasicAuthentication.decodeBasicCreds.failed = true)</condition>
<steps>
<step>
<policy_name>BasicAuthMissing</policy_name>
<condition> </condition>
<sequence>1</sequence>
</step>
</steps>
</faultRule>
</faultRules>
<preFlow>
<name>PreFlow</name>
<request>
<isRequest>true</isRequest>
<steps>
<step>
<policy_name>OAuth</policy_name>
<condition> </condition>
<sequence>1</sequence>
</step>
</steps>
</request>
<response>
<isRequest>true</isRequest>
<steps/>
</response>
</preFlow>
<postFlow>
<name>PostFlow</name>
<request>
<isRequest>true</isRequest>
<steps/>
</request>
<response>
<isRequest>true</isRequest>
<steps>
<step>
<policy_name>KVMO_GetCPIUrl</policy_name>
<condition> </condition>
<sequence>2</sequence>
</step>
<step>
<policy_name>logToElasticSearch</policy_name>
<condition> </condition>
<sequence>5</sequence>
</step>
<step>
<policy_name>generateLogMessage</policy_name>
<condition> </condition>
<sequence>3</sequence>
</step>
<step>
<policy_name>LoggingBasicAuth</policy_name>
<condition> </condition>
<sequence>4</sequence>
</step>
<step>
<policy_name>KVMO_CPICredentials</policy_name>
<condition> </condition>
<sequence>1</sequence>
</step>
</steps>
</response>
</postFlow>
<conditionalFlows>
<conditionalFlow>
<name>DefaultFaultFlow</name>
<request>
<isRequest>true</isRequest>
<steps>
<step>
<policy_name>defaultRaiseFaultPolicy</policy_name>
<condition> </condition>
<sequence>1</sequence>
</step>
</steps>
</request>
<conditions>proxy.pathsuffix MatchesPath "/getsimulation" OR proxy.pathsuffix MatchesPath "/getsimulation/**" OR proxy.pathsuffix MatchesPath "/getsimulation(**"</conditions>
<readOnly>false</readOnly>
<sequence>1</sequence>
</conditionalFlow>
<conditionalFlow>
<name>getsimulation</name>
<conditions>(proxy.pathsuffix MatchesPath "/getsimulation" OR proxy.pathsuffix MatchesPath "/getsimulation/**" OR proxy.pathsuffix MatchesPath "/getsimulation(**")AND(request.verb = "POST")</conditions>
<readOnly>false</readOnly>
<sequence>0</sequence>
</conditionalFlow>
</conditionalFlows>
</ProxyEndPoint>
Queries :
Could you please help me understand what might be causing this issue?
Thanks
Vaisu Raj
Request clarification before answering.
| User | Count |
|---|---|
| 8 | |
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 3 | |
| 3 | |
| 3 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.