Cant't Get Client request time in proxy response

Hi

I have an issue to get client.sent.end.timestamp value.

I made a test where I have an <AssignMessage> in the proxy endpoint postflow response Flow.

Finally I get in the body :

"responseSentTime":"-1".

<PostFlow name="PostFlow">
	<Request/>
	<Response>
		<Step>
			<Name>AssignFinalMessage</Name>
		</Step>
	</Response>
</PostFlow>


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
	<DisplayName>AssignFinalMessage</DisplayName>
	<Set>
	<Headers/>
	<Payload contentType="application/json" variablePrefix="@"
		variableSuffix="#">
 		{
		 …….
 		"responseSentTime":"@client.sent.end.timestamp#",
 		…...
 		}
	</Payload>
	</Set>
	<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
	<AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

Regards

Maxime

0 2 458
2 REPLIES 2

From the docs - "client.sent.end.timestamp" - The timestamp value specifying when the ProxyEndpoint finished returning the response to the originating client app.

So, at the point of execution of this policy - the value will not be available, I think it will be available only in the 'Post Client Flow' - that is after the response is sent.

Why do you need this variable? can you analytics for this data? do you need this for logging?

For logging - have a look at this - https://community.apigee.com/articles/18196/tutorial-apigee-edge-post-client-flow.html

If you want to send something to the client [not sure why?]- you could use system.timestamp could be an option [not accurate, but close]

Hi

It's clear. Thanks for your response

Maxime