password special character runtime chaining

Apigee x is invoking an REST endpoint, it has user/password.

I am passing a password with a special code (password=lineFTDatherate401234), run time changing to password=lineFTDpercent401234, hence its failing with authentication. Is there a way to skip this without changing the password?

changing attherate to percentage. this post also not allowing specials character so typing in words

3 2 81
2 REPLIES 2

Maybe you can use the code insertion  in the editor here, to show the exact characters.  Click the three dots kebab, and then the angle brackets <> , and you should be able to insert a code snip. 

click-the-kebab.png

The problem you are experiencing is probably due to an encoding issue. 

"run time changing" - two questions

  1. how is your proxy configured?  Normally Apigee acts as a passthrough. It will not change the values. It would be extraordinary if Apigee changed a value, without your API proxy directing it to do so.
  2. how are you determining that "run time changing" the value ?  What observation have you made, that leads you to this conclusion? Be specific.

Apigee has been in the market for > 10 years, so it's not likely you've discovered a new bug. I would guess that what you are seeing is probably due to some special circumstances in your situation. 

You may be misunderstanding what you are seeing.  How are you passing in the query parameter?  Are you using curl? postman? some program?  Please elaborate. 

It could be that you're expecting your client side to NOT encode the parameter, but it does encode the parameter, because that's what the HTTP spec requires. Postman, curl and lots of other tools will do this.  If you have determined that the runtime has changed your parameter, by viewing the parameter in a Trace / Debug session, that's not good evidence that it's been changed. You're probably seeing an encoded value. The upstream will RECEIVE an encoded value (because that's what HTTP requires), and it's the responsibility of the upstream to decode the value. 

Thank you @dchiesa1 for your time. I have changed query param to header param input, that solved interim my issue.