コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 /// <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;
 }