API gateway as target endpoint in APIGEE

Not applicable

Hi

I am trying to use AWS api gateway(AWS api key is required) as a target endpoint in APIGEE.

I have included the x-api-key for AWS api in the headers using the assign message policy in APIGEE but it throws me this error:

403 Forbidden { "message": "Forbidden" }

Whereas if i include the x-api-key explicitly in postman, it works:

4144-screen-shot-2016-12-28-at-124808-pm.png

Can anyone suggest a solution for this?

0 4 449
4 REPLIES 4

Not applicable
@jinwei

Could you please check where you have used the assign message.

As per my understanding , You want to add x-api-key and pass it in the header for the target endpoint.

It could be done using assign message <Set> Property.

@Umanng Goel

Hi this is my assign message policy. I used the <Add> property:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message_convert-params">

<DisplayName>Assign Message_convert params</DisplayName>

<Properties/>

<Copy source="request">

<Headers/>

<QueryParams/>

<FormParams/>

<Payload/>

<Verb/>

<StatusCode/>

<ReasonPhrase/>

<Path/>

</Copy>

<Remove>

<Headers>

<Header name="Authorization"/>

<Header name="X-Api-Key"/>

<Header name="apikey"/>

</Headers>

</Remove>

<Add>

<Headers>

<Header name="X-Api-Key">awsapikey</Header>

</Headers>

</Add>

<AssignVariable>

<Name>name</Name>

<Value/>

<Ref/>

</AssignVariable>

<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>

@jinwei

Instead of adding the header for request,set it for request.

<Add>
<Headers>
<Header name="X-Api-Key">awsapikey</Header>
</Headers>
</Add>
Kindly Try Setting the value.
<Set>
<Headers> <Header name="X-Api-Key">awsapikey</Header> </Headers> </Set>

Hey I tried that, it still does not work