Routing to different target basing on URI path

Use case:

  1. If the url path has /user-profile ,then it should be directed to http://example.com/Fk/getUserProfile
  2. If the url path has /userTimeline ,then it should be directed to http://example.com/tr/userTimeline
So i tried routing these using the route rules ,it returns the 404 because / user-profile is attached to the path when it is send to backend service and it is unable to locate the url path.
http://example.com/Fk/getUserProfile/user-profile So how to remove the path.Is the way i am going is the right one?
Solved Solved
0 11 4,367
2 ACCEPTED SOLUTIONS

@archana

You can use assign message policy or javascript policy to set variable "target.copy.pathsuffix" as "false"

context.setVariable("target.copy.pathsuffix", false)

Let me know if it works.

View solution in original post

Still same 404 error

View solution in original post

11 REPLIES 11

@archana

You can use assign message policy or javascript policy to set variable "target.copy.pathsuffix" as "false"

context.setVariable("target.copy.pathsuffix", false)

Let me know if it works.

@archana

Sunandita is correctly pointed out the way you can handle it. But you should also know the scope of each variable. So the scope of target variable is in the target flow. Hence, the method suggested by Sunandita must be used in the target flow.

I have added it to target flow,now i have 500 internal server error.But the backend service is working.

thank you so much.It worked finally.

It is working @gbhandari but i am redirected to http://43.242.125.119 not to http://43.242.125.119/Fk/getprofile. Why is that?

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DebugSession>
<Retrieved>2016-03-30T10:50:47.372Z</Retrieved>
<Organization>armd11</Organization>
<Environment>test</Environment>
<API>citi_fb</API>
<Revision>8</Revision>
<SessionId>1459335035382</SessionId>
<Messages>
<Message>
<DebugId>55a40b6f-876f-43d7-b3b0-4aecb4ff38f0__927</DebugId>


<Data>
    <Completed>true</Completed>
    <Point id="Paused"/>
    <Point id="Resumed"/>
    <Point id="StateChange">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:270</Timestamp>
            <Properties>
                <Property name="To">REQ_HEADERS_PARSED</Property>
                <Property name="From">REQ_START</Property>
            </Properties>
        </DebugInfo>
        <RequestMessage>
            <Headers>
                <Header name="Accept">*/*</Header>
                <Header name="Accept-Encoding">gzip,deflate</Header>
                <Header name="Host">armd11-test.apigee.net</Header>
                <Header name="User-Agent">NING/1.0</Header>
                <Header name="X-Apigee.application">citi_fb</Header>
                <Header name="X-Apigee.environment">test</Header>
                <Header name="X-Apigee.organization">armd11</Header>
                <Header name="X-Apigee.proxy">default</Header>
                <Header name="X-Apigee.revision">8</Header>
                <Header name="X-Apigee.vhost">default</Header>
                <Header name="X-Forwarded-For">54.84.115.42</Header>
                <Header name="X-Forwarded-Port">80</Header>
                <Header name="X-Forwarded-Proto">http</Header>
            </Headers>
            <URI>/Citistar/user-profile?token</URI>
            <Verb>GET</Verb>
        </RequestMessage>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:270</Timestamp>
            <Properties>
                <Property name="environment.name">test</Property>
                <Property name="environment.qualifiedname">armd11__test</Property>
                <Property name="environment.orgname">armd11</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:271</Timestamp>
            <Properties>
                <Property name="organization.name">armd11</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:271</Timestamp>
            <Properties>
                <Property name="apiproxy.qualifiedname">citi_fb__8</Property>
                <Property name="apiproxy.basepath">/</Property>
                <Property name="apiproxy.revision">8</Property>
                <Property name="apiproxy.name">citi_fb</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:271</Timestamp>
            <Properties>
                <Property name="proxy.basepath">/Citistar</Property>
                <Property name="proxy.pathsuffix">/user-profile</Property>
                <Property name="proxy.url">http://rrt330ea.us-ea.4.apigee.com/Citistar/user-profile?token</Property>
                <Property name="proxy.name">default</Property>
                <Property name="proxy.client.ip">54.84.115.42</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:271</Timestamp>
            <Properties>
                <Property name="virtualhost.port">80</Property>
                <Property name="virtualhost.name">default</Property>
                <Property name="virtualhost.ssl.enabled">false</Property>
                <Property name="virtualhost.aliases">{armd11-test.apigee.net}</Property>
                <Property name="virtualhost.ip">192.168.24.46</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="StateChange">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:271</Timestamp>
            <Properties>
                <Property name="To">PROXY_REQ_FLOW</Property>
                <Property name="From">REQ_HEADERS_PARSED</Property>
            </Properties>
        </DebugInfo>
        <RequestMessage>
            <Headers>
                <Header name="Accept">*/*</Header>
                <Header name="Accept-Encoding">gzip,deflate</Header>
                <Header name="Host">armd11-test.apigee.net</Header>
                <Header name="User-Agent">NING/1.0</Header>
                <Header name="X-Forwarded-For">54.84.115.42</Header>
                <Header name="X-Forwarded-Port">80</Header>
                <Header name="X-Forwarded-Proto">http</Header>
            </Headers>
            <URI>/Citistar/user-profile?token</URI>
            <Verb>GET</Verb>
        </RequestMessage>
    </Point>
    <Point id="Condition">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:271</Timestamp>
            <Properties>
                <Property name="ExpressionResult">true</Property>
                <Property name="Expression">("default" equals proxy.name)</Property>
                <Property name="Tree">PROXY_default</Property>
            </Properties>
        </DebugInfo>
        <VariableAccess>
            <Get value="default" name="proxy.name"/>
        </VariableAccess>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:271</Timestamp>
            <Properties>
                <Property name="proxy.flow.name">PreFlow</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:271</Timestamp>
            <Properties>
                <Property name="current.flow.name">PreFlow</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:271</Timestamp>
            <Properties>
                <Property name="proxy.flow.name">Flow-1</Property>
                <Property name="proxy.flow.description"></Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:271</Timestamp>
            <Properties>
                <Property name="current.flow.name">Flow-1</Property>
                <Property name="current.flow.description"></Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="Execution">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:271</Timestamp>
            <Properties>
                <Property name="action">CONTINUE</Property>
                <Property name="stepDefinition-async">false</Property>
                <Property name="internal">false</Property>
                <Property name="stepDefinition-type">assignmessage</Property>
                <Property name="expression">(proxy.pathsuffix matches /user-profile and (request.verb equals "GET"))</Property>
                <Property name="type">AssignMessageExecution</Property>
                <Property name="enforcement">request</Property>
                <Property name="stepDefinition-continueOnError">false</Property>
                <Property name="expressionResult">true</Property>
                <Property name="stepDefinition-displayName">Assign-1</Property>
                <Property name="stepDefinition-name">Assign-1</Property>
                <Property name="stepDefinition-enabled">true</Property>
                <Property name="result">true</Property>
            </Properties>
        </DebugInfo>
        <RequestMessage>
            <Headers>
                <Header name="Accept">*/*</Header>
                <Header name="Accept-Encoding">gzip,deflate</Header>
                <Header name="Host">armd11-test.apigee.net</Header>
                <Header name="User-Agent">NING/1.0</Header>
                <Header name="X-Forwarded-For">54.84.115.42</Header>
                <Header name="X-Forwarded-Port">80</Header>
                <Header name="X-Forwarded-Proto">http</Header>
            </Headers>
            <URI>/Citistar/user-profile?token</URI>
            <Verb>GET</Verb>
        </RequestMessage>
        <VariableAccess>
            <Set success="true" value="http://FaceBook/getUserProfile" name="target.url"/>
            <Set success="true" value="32629" name="apigee.metrics.policy.Assign-1.timeTaken"/>
        </VariableAccess>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:272</Timestamp>
            <Properties>
                <Property name="proxy.flow.name">PostFlow</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:272</Timestamp>
            <Properties>
                <Property name="current.flow.name">PostFlow</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:272</Timestamp>
            <Properties>
                <Property name="route.name">default</Property>
                <Property name="route.target">default</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:272</Timestamp>
            <Properties>
                <Property name="target.url">http://43.242.125.119</Property>
                <Property name="target.basepath.with.query"></Property>
                <Property name="target.copy.queryparams">true</Property>
                <Property name="target.copy.pathsuffix">true</Property>
                <Property name="target.basepath"></Property>
                <Property name="target.name">default</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:272</Timestamp>
            <Properties>
                <Property name="targetURL">http://43.242.125.119</Property>
                <Property name="targetBasePath"></Property>
                <Property name="targetRequestSender">InlineTargetRequestSender</Property>
                <Property name="targetEndpoint">default{Organization=armd11Environment=test,Application=citi_fb__8}</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="StateChange">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:272</Timestamp>
            <Properties>
                <Property name="To">TARGET_REQ_FLOW</Property>
                <Property name="From">PROXY_REQ_FLOW</Property>
            </Properties>
        </DebugInfo>
        <RequestMessage>
            <Headers>
                <Header name="Accept">*/*</Header>
                <Header name="Accept-Encoding">gzip,deflate</Header>
                <Header name="Host">armd11-test.apigee.net</Header>
                <Header name="User-Agent">NING/1.0</Header>
                <Header name="X-Forwarded-For">54.84.115.42</Header>
                <Header name="X-Forwarded-Port">80</Header>
                <Header name="X-Forwarded-Proto">http</Header>
            </Headers>
            <URI>/Citistar/user-profile?token</URI>
            <Verb>GET</Verb>
        </RequestMessage>
    </Point>
    <Point id="Condition">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:272</Timestamp>
            <Properties>
                <Property name="ExpressionResult">true</Property>
                <Property name="Expression">("default" equals target.name)</Property>
                <Property name="Tree">TARGET_default</Property>
            </Properties>
        </DebugInfo>
        <VariableAccess>
            <Get value="default" name="target.name"/>
        </VariableAccess>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:272</Timestamp>
            <Properties>
                <Property name="target.flow.name">PreFlow</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:272</Timestamp>
            <Properties>
                <Property name="current.flow.name">PreFlow</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:272</Timestamp>
            <Properties>
                <Property name="target.flow.name">PostFlow</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:272</Timestamp>
            <Properties>
                <Property name="current.flow.name">PostFlow</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="Paused"/>
    <Point id="Resumed"/>
    <Point id="StateChange">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:32:537</Timestamp>
            <Properties>
                <Property name="To">REQ_SENT</Property>
                <Property name="From">TARGET_REQ_FLOW</Property>
            </Properties>
        </DebugInfo>
        <ResponseMessage>
            <Headers/>
            <ReasonPhrase>OK</ReasonPhrase>
            <StatusCode>200</StatusCode>
        </ResponseMessage>
    </Point>
    <Point id="Paused"/>
    <Point id="Resumed"/>
    <Point id="StateChange">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:296</Timestamp>
            <Properties>
                <Property name="To">RESP_START</Property>
                <Property name="From">REQ_SENT</Property>
            </Properties>
        </DebugInfo>
        <ResponseMessage>
            <Headers>
                <Header name="Content-Type">text/html</Header>
                <Header name="Date">Wed, 30 Mar 2016 10:50:46 GMT</Header>
                <Header name="Server">WSGIServer/0.1 Python/2.7.6</Header>
                <Header name="X-Frame-Options">SAMEORIGIN</Header>
            </Headers>
            <ReasonPhrase>NOT FOUND</ReasonPhrase>
            <StatusCode>404</StatusCode>
        </ResponseMessage>
    </Point>
    <Point id="Condition">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:296</Timestamp>
            <Properties>
                <Property name="ExpressionResult">true</Property>
                <Property name="Expression">("default" equals target.name)</Property>
                <Property name="Tree">TARGET_default</Property>
            </Properties>
        </DebugInfo>
        <VariableAccess>
            <Get value="default" name="target.name"/>
        </VariableAccess>
    </Point>
    <Point id="Paused"/>
    <Point id="Resumed"/>
    <Point id="StateChange">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:328</Timestamp>
            <Properties>
                <Property name="To">TARGET_RESP_FLOW</Property>
                <Property name="From">RESP_START</Property>
            </Properties>
        </DebugInfo>
        <ResponseMessage>
            <Content>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Page not found at /user-profile</title>
  <meta name="robots" content="NONE,NOARCHIVE">
  <style type="text/css">
    html * { padding:0; margin:0; }
    body * { padding:10px 20px; }
    body * * { padding:0; }
    body { font:small sans-serif; background:#eee; }
    body>div { border-bottom:1px solid #ddd; }
    h1 { font-weight:normal; margin-bottom:.4em; }
    h1 span { fon.....</Content>
            <Headers>
                <Header name="Content-Type">text/html</Header>
                <Header name="Date">Wed, 30 Mar 2016 10:50:46 GMT</Header>
                <Header name="Server">WSGIServer/0.1 Python/2.7.6</Header>
                <Header name="X-Frame-Options">SAMEORIGIN</Header>
            </Headers>
            <ReasonPhrase>NOT FOUND</ReasonPhrase>
            <StatusCode>404</StatusCode>
        </ResponseMessage>
    </Point>
    <Point id="Condition">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:329</Timestamp>
            <Properties>
                <Property name="ExpressionResult">true</Property>
                <Property name="Expression">("default" equals target.name)</Property>
                <Property name="Tree">TARGET_default</Property>
            </Properties>
        </DebugInfo>
        <VariableAccess>
            <Get value="default" name="target.name"/>
        </VariableAccess>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:329</Timestamp>
            <Properties>
                <Property name="Identifier">fault</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="Error">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:329</Timestamp>
            <Properties>
                <Property name="error">Received non success response code</Property>
                <Property name="type">ErrorPoint</Property>
                <Property name="state">TARGET_RESP_FLOW</Property>
                <Property name="error.class">com.apigee.transport.errors.HttpAdaptorException</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="Paused"/>
    <Point id="Resumed"/>
    <Point id="Condition">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:330</Timestamp>
            <Properties>
                <Property name="ExpressionResult">false</Property>
                <Property name="Expression">((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))</Property>
                <Property name="Tree">PROXY_FAULT_HANDLING</Property>
            </Properties>
        </DebugInfo>
        <VariableAccess>
            <Get value="TARGET_RESP_FLOW" name="error.state"/>
            <Get value="TARGET_RESP_FLOW" name="error.state"/>
        </VariableAccess>
    </Point>
    <Point id="Condition">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:330</Timestamp>
            <Properties>
                <Property name="ExpressionResult">true</Property>
                <Property name="Expression">(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))</Property>
                <Property name="Tree">TARGET_FAULT_HANDLING</Property>
            </Properties>
        </DebugInfo>
        <VariableAccess>
            <Get value="TARGET_RESP_FLOW" name="error.state"/>
            <Get value="TARGET_RESP_FLOW" name="error.state"/>
        </VariableAccess>
    </Point>
    <Point id="Condition">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:330</Timestamp>
            <Properties>
                <Property name="ExpressionResult">true</Property>
                <Property name="Expression">("default" equals target.name)</Property>
                <Property name="Tree">TARGET_default</Property>
            </Properties>
        </DebugInfo>
        <VariableAccess>
            <Get value="default" name="target.name"/>
        </VariableAccess>
    </Point>
    <Point id="StateChange">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:330</Timestamp>
            <Properties>
                <Property name="To">RESP_SENT</Property>
                <Property name="From">ERROR</Property>
            </Properties>
        </DebugInfo>
        <ResponseMessage>
            <Content>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Page not found at /user-profile</title>
  <meta name="robots" content="NONE,NOARCHIVE">
  <style type="text/css">
    html * { padding:0; margin:0; }
    body * { padding:10px 20px; }
    body * * { padding:0; }
    body { font:small sans-serif; background:#eee; }
    body>div { border-bottom:1px solid #ddd; }
    h1 { font-weight:normal; margin-bottom:.4em; }
    h1 span { fon.....</Content>
            <Headers>
                <Header name="Content-Type">text/html</Header>
                <Header name="Date">Wed, 30 Mar 2016 10:50:46 GMT</Header>
                <Header name="Server">WSGIServer/0.1 Python/2.7.6</Header>
                <Header name="X-Frame-Options">SAMEORIGIN</Header>
            </Headers>
            <ReasonPhrase>NOT FOUND</ReasonPhrase>
            <StatusCode>404</StatusCode>
        </ResponseMessage>
    </Point>
    <Point id="Condition">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:330</Timestamp>
            <Properties>
                <Property name="ExpressionResult">true</Property>
                <Property name="Expression">("default" equals proxy.name)</Property>
                <Property name="Tree">PROXY_default</Property>
            </Properties>
        </DebugInfo>
        <VariableAccess>
            <Get value="default" name="proxy.name"/>
        </VariableAccess>
    </Point>
    <Point id="Condition">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:330</Timestamp>
            <Properties>
                <Property name="ExpressionResult">true</Property>
                <Property name="Expression">("default" equals target.name)</Property>
                <Property name="Tree">TARGET_default</Property>
            </Properties>
        </DebugInfo>
        <VariableAccess>
            <Get value="default" name="target.name"/>
        </VariableAccess>
    </Point>
    <Point id="StateChange">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:330</Timestamp>
            <Properties>
                <Property name="To">END</Property>
                <Property name="From">RESP_SENT</Property>
            </Properties>
        </DebugInfo>
        <ResponseMessage>
            <Content>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Page not found at /user-profile</title>
  <meta name="robots" content="NONE,NOARCHIVE">
  <style type="text/css">
    html * { padding:0; margin:0; }
    body * { padding:10px 20px; }
    body * * { padding:0; }
    body { font:small sans-serif; background:#eee; }
    body>div { border-bottom:1px solid #ddd; }
    h1 { font-weight:normal; margin-bottom:.4em; }
    h1 span { fon.....</Content>
            <Headers>
                <Header name="Content-Type">text/html</Header>
                <Header name="Date">Wed, 30 Mar 2016 10:50:46 GMT</Header>
                <Header name="Server">WSGIServer/0.1 Python/2.7.6</Header>
                <Header name="X-Frame-Options">SAMEORIGIN</Header>
            </Headers>
            <ReasonPhrase>NOT FOUND</ReasonPhrase>
            <StatusCode>404</StatusCode>
        </ResponseMessage>
    </Point>
    <Point id="DebugMask">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:331</Timestamp>
            <Properties>
                <Property name="SuccessFullyMaskedConfigs">[]</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="Resumed"/>
    <Point id="StateChange">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:331</Timestamp>
            <Properties>
                <Property name="To">PROXY_POST_RESP_SENT</Property>
                <Property name="From">END</Property>
            </Properties>
        </DebugInfo>
        <ResponseMessage>
            <Headers>
                <Header name="Content-Length">4569</Header>
                <Header name="Content-Type">text/html</Header>
                <Header name="Date">Wed, 30 Mar 2016 10:50:46 GMT</Header>
                <Header name="Server">WSGIServer/0.1 Python/2.7.6</Header>
                <Header name="X-Apigee.Message-ID">rrt330ea-29392-15364081-1</Header>
                <Header name="X-Frame-Options">SAMEORIGIN</Header>
            </Headers>
            <ReasonPhrase>NOT FOUND</ReasonPhrase>
            <StatusCode>404</StatusCode>
        </ResponseMessage>
    </Point>
    <Point id="Condition">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:331</Timestamp>
            <Properties>
                <Property name="ExpressionResult">true</Property>
                <Property name="Expression">("default" equals proxy.name)</Property>
                <Property name="Tree">PROXY_default</Property>
            </Properties>
        </DebugInfo>
        <VariableAccess>
            <Get value="default" name="proxy.name"/>
        </VariableAccess>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:332</Timestamp>
            <Properties>
                <Property name="proxy.flow.name">PostClientFlow</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="FlowInfo">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:332</Timestamp>
            <Properties>
                <Property name="current.flow.name">PostClientFlow</Property>
            </Properties>
        </DebugInfo>
    </Point>
    <Point id="Paused"/>
    <Point id="Execution">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:332</Timestamp>
            <Properties>
                <Property name="expressionResult">true</Property>
                <Property name="type">AnalyticsPredefinedVariablesPublisher</Property>
                <Property name="expression">(analytics equals null )</Property>
            </Properties>
        </DebugInfo>
        <ResponseMessage>
            <Headers>
                <Header name="Content-Length">4569</Header>
                <Header name="Content-Type">text/html</Header>
                <Header name="Date">Wed, 30 Mar 2016 10:50:46 GMT</Header>
                <Header name="Server">WSGIServer/0.1 Python/2.7.6</Header>
                <Header name="X-Apigee.Message-ID">rrt330ea-29392-15364081-1</Header>
                <Header name="X-Frame-Options">SAMEORIGIN</Header>
            </Headers>
            <ReasonPhrase>NOT FOUND</ReasonPhrase>
            <StatusCode>404</StatusCode>
        </ResponseMessage>
        <VariableAccess/>
    </Point>
    <Point id="Resumed"/>
    <Point id="Execution">
        <DebugInfo>
            <Timestamp>30-03-16 10:50:34:332</Timestamp>
            <Properties>
                <Property name="expressionResult">false</Property>
                <Property name="type">AnalyticsPublisher</Property>
                <Property name="expression">(analytics not null)</Property>
            </Properties>
        </DebugInfo>
        <ResponseMessage>
            <Headers>
                <Header name="Content-Length">4569</Header>
                <Header name="Content-Type">text/html</Header>
                <Header name="Date">Wed, 30 Mar 2016 10:50:46 GMT</Header>
                <Header name="Server">WSGIServer/0.1 Python/2.7.6</Header>
                <Header name="X-Apigee.Message-ID">rrt330ea-29392-15364081-1</Header>
                <Header name="X-Frame-Options">SAMEORIGIN</Header>
            </Headers>
            <ReasonPhrase>NOT FOUND</ReasonPhrase>
            <StatusCode>404</StatusCode>
        </ResponseMessage>
        <VariableAccess>
            <Get value="armd11" name="organization.name"/>
            <Get value="test" name="environment.name"/>
            <Get value="armd11" name="organization.name"/>
            <Get value="test" name="environment.name"/>
            <Get value="citi_fb" name="apiproxy.name"/>
            <Get value="8" name="apiproxy.revision"/>
            <Get value="default" name="proxy.name"/>
            <Get value="/Citistar" name="proxy.basepath"/>
            <Get value="/user-profile" name="proxy.pathsuffix"/>
            <Get value="54.84.115.42" name="request.header.X-Forwarded-For"/>
            <Get value="54.84.115.42" name="proxy.client.ip"/>
            <Get value="default" name="target.name"/>
            <Get name="dynamic.target"/>
            <Get value="" name="target.basepath"/>
            <Get name="dynamic.target"/>
            <Get value="http://43.242.125.119" name="target.url"/>
            <Get value="43.242.125.119" name="target.host"/>
            <Get value="43.242.125.119" name="target.ip"/>
            <Get value="54.84.115.42" name="client.ip"/>
            <Get value="true" name="is.error"/>
            <Get value="0" name="apigee.edge.execution.is_policy_error"/>
            <Get value="1" name="apigee.edge.execution.is_target_error"/>
            <Get value="1459335032274" name="target.sent.start.timestamp"/>
            <Get value="1459335032537" name="target.sent.end.timestamp"/>
            <Get value="1459335034251" name="target.received.start.timestamp"/>
            <Get value="1459335034328" name="target.received.end.timestamp"/>
            <Get value="1459335032269" name="client.received.start.timestamp"/>
            <Get value="1459335032270" name="client.received.end.timestamp"/>
            <Get value="1459335034331" name="client.sent.start.timestamp"/>
            <Get value="1459335034331" name="client.sent.end.timestamp"/>
            <Get value="404" name="message.status.code"/>
            <Get value="/user-profile?token" name="request.uri"/>
            <Get value="/user-profile" name="request.path"/>
            <Get value="GET" name="request.verb"/>
            <Get value="default" name="virtualhost.name"/>
            <Get name="apigee.developer.app.name"/>
            <Get name="apigee.apiproduct.name"/>
            <Get name="apigee.access_token"/>
            <Get name="apigee.client_id"/>
            <Get name="flow.resource.name"/>
            <Get value="rrt330ea-29392-15364081-1" name="messageid"/>
            <Get name="sla"/>
            <Get value="0" name="client.received.content.length"/>
            <Get value="4569" name="target.received.content.length"/>
            <Get name="cachehit"/>
            <Get name="responsecache.executed"/>
            <Get name="responsecache.cachename"/>
            <Get name="responsecache.cachekey"/>
            <Get name="responsecache.cachesource"/>
            <Get name="responsecache.l1.count"/>
            <Get name="apigee.developer.id"/>
            <Get value="404" name="target.response.status.code"/>
            <Get value="54.84.115.42" name="request.header.X-Forwarded-For"/>
            <Get name="apigee.developer.email"/>
            <Get value="NING/1.0" name="request.header.User-Agent"/>
            <Get name="request.header.X-Apigee-Client-Device-Id"/>
            <Get name="request.header.X-Apigee-Client-Session-Id"/>
            <Get name="request.header.X-Apigee-Client-Org-Name"/>
            <Get name="request.header.X-Apigee-Client-App-Name"/>
            <Get name="request.header.X-Apigee-Client-Request-Id"/>
            <Get value="messaging.adaptors.http.flow.ErrorResponseCode" name="apigee.edge.execution.fault_code"/>
            <Get value="0" name="apigee.edge.execution.is_apigee_fault"/>
            <Get value="us-east-1" name="system.region.name"/>
            <Get name="apigee.edge.execution.fault_policy_name"/>
            <Get name="apigee.edge.execution.fault_flow_name"/>
            <Get name="apigee.edge.execution.fault_flow_state"/>
            <Get name="request.header.True-client-ip"/>
            <Get name="analytics"/>
        </VariableAccess>
    </Point>
    <Point id="Paused"/>
</Data>
</Message>
</Messages>
</DebugSession>


Still same 404 error

@archana,

Just paste the target.xml and the actual policy in xml that you have used

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TargetEndpoint name="default">
    <Description/>
    <FaultRules/>
    <PreFlow name="PreFlow">
        <Request/>
        <Response/>
    </PreFlow>
    <PostFlow name="PostFlow">
        <Request/>
        <Response/>
    </PostFlow>
    <Flows>
        <Flow name="Flow-1">
            <Description/>
            <Request>
                <Step>
                    <Condition>(proxy.pathsuffix MatchesPath "/user-profile") and (request.verb = "GET")</Condition>
                    <Name>Assign-1</Name>
                </Step>
            </Request>
        </Flow>
    </Flows>
    <HTTPTargetConnection>
        <Properties/>
        <URL>http://43.242.125.119</URL>
    </HTTPTargetConnection>
</TargetEndpoint>


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-1">
    <DisplayName>Assign-1</DisplayName>
    <Properties/>
    <AssignVariable>
        <Name>target.url</Name>
        <Value>http://FaceBook/getUserProfile</Value>
    </AssignVariable>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>



@archana

<AssignVariable> <Name>target.copy.pathsuffix</Name> <Value>false</Value> </AssignVariable>

Please add this as well and test

t is working,but i am redirected to http://43.242.125.119 not to http://43.242.125.119/FaceBook/getUserProfile. Why is that?