/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { StartFlowResponse response = new StartFlowResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.TestExpression("flowArn", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.FlowArn = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("status", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Status = unmarshaller.Unmarshall(context); continue; } } return(response); }
public static StartFlowResponse Unmarshall(UnmarshallerContext _ctx) { StartFlowResponse startFlowResponse = new StartFlowResponse(); startFlowResponse.HttpResponse = _ctx.HttpResponse; startFlowResponse.RequestId = _ctx.StringValue("StartFlow.RequestId"); startFlowResponse.Data = _ctx.BooleanValue("StartFlow.Data"); return(startFlowResponse); }
/// <summary> /// Starts a pre-defined message flow. /// </summary> /// <returns> StartFlowResponse object</returns> /// <param name="request"> StartFlowRequest object</param> /// <param name='jsonRpcCallId'> /// The json rpc call identifier. This is a string generated by the client, which can be used to correlate the response to the request. Max length is 256 characters. A JSON-RPC id must be generated on a per call invocation basis. The Rogerthat platform uses the id of the call to store the call result for a certain amount of time so that if something fails during the communication, the same call (having the same JSON-RPC id) can be resent to the Rogerthat service, allowing to fetch the result, without actually executing the call again. This avoids annoying problems such as duplicate delivery of messages. /// /// You should use a different JSON-RPC id for every call you make. /// /// In case of an intermittent failure such as a network connectivity problem, you can retry the same call using the same JSON-RPC id, without running the risk of duplicate execution of your call (e.g. duplicate message delivery). /// </param> public StartFlowResponse StartFlow(StartFlowRequest request, string jsonRpcCallId) { StartFlowResponse result = new StartFlowResponse(); WireRequest(0, jsonRpcCallId, "messaging.start_flow", (writer) => { request.Write(writer, false); }, (reader) => { result.Read(reader); } ); return result; }