public void PollForDecisionTaskMarshallTest() { var request = InstantiateClassGenerator.Execute <PollForDecisionTaskRequest>(); var marshaller = new PollForDecisionTaskRequestMarshaller(); var internalRequest = marshaller.Marshall(request); var jsonRequest = UTF8Encoding.UTF8.GetString(internalRequest.Content); Comparer.CompareObjectToJson <PollForDecisionTaskRequest>(request, jsonRequest); var webResponse = new WebResponseData { Headers = { { "x-amzn-RequestId", Guid.NewGuid().ToString() }, { "x-amz-crc32", "0" } } }; var jsonResponse = new JsonSampleGenerator(service_model, service_model.FindOperation("PollForDecisionTask").ResponseStructure).Execute(); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(jsonResponse).Length.ToString()); UnmarshallerContext context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(jsonResponse), false, webResponse); var response = PollForDecisionTaskResponseUnmarshaller.Instance.Unmarshall(context) as PollForDecisionTaskResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
IAsyncResult invokePollForDecisionTask(PollForDecisionTaskRequest pollForDecisionTaskRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new PollForDecisionTaskRequestMarshaller().Marshall(pollForDecisionTaskRequest); var unmarshaller = PollForDecisionTaskResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return result; }
/// <summary> /// <para> Used by deciders to get a DecisionTask from the specified decision <c>taskList</c> . /// A decision task may be returned for any open workflow execution that is using the specified task list. The task includes a paginated /// view of the history of the workflow execution. The decider should use the workflow type and the history to determine how to properly handle /// the task. </para> <para> This action initiates a long poll, where the service holds the HTTP connection open and responds as soon a task /// becomes available. If no decision task is available in the specified task list before the timeout of 60 seconds expires, an empty result is /// returned. An empty result, in this context, means that a DecisionTask is returned, but that the value of taskToken is an empty string. /// </para> <para><b>IMPORTANT:</b> Deciders should set their client side socket timeout to at least 70 seconds (10 seconds higher than the /// timeout). </para> <para><b>IMPORTANT:</b> Because the number of workflow history events for a single workflow execution might be very large, /// the result returned might be split up across a number of pages. To retrieve subsequent pages, make additional calls to PollForDecisionTask /// using the nextPageToken returned by the initial call. Note that you do not call GetWorkflowExecutionHistory with this nextPageToken. /// Instead, call PollForDecisionTask again. </para> <para> <b>Access Control</b> </para> <para>You can use IAM policies to control this /// action's access to Amazon SWF resources as follows:</para> /// <ul> /// <li>Use a <c>Resource</c> element with the domain name to limit the action to only specified domains.</li> /// <li>Use an <c>Action</c> element to allow or deny permission to call this action.</li> /// <li>Constrain the <c>taskList.name</c> parameter by using a <b>Condition</b> element with the <c>swf:taskList.name</c> key to allow the /// action to access only certain task lists.</li> /// /// </ul> /// <para>If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified /// constraints, the action fails by throwing <c>OperationNotPermitted</c> . For details and example IAM policies, see <a href="http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> /// .</para> /// </summary> /// /// <param name="pollForDecisionTaskRequest">Container for the necessary parameters to execute the PollForDecisionTask service method on /// AmazonSimpleWorkflow.</param> /// /// <returns>The response from the PollForDecisionTask service method, as returned by AmazonSimpleWorkflow.</returns> /// /// <exception cref="T:Amazon.SimpleWorkflow.Model.OperationNotPermittedException" /> /// <exception cref="T:Amazon.SimpleWorkflow.Model.UnknownResourceException" /> /// <exception cref="T:Amazon.SimpleWorkflow.Model.LimitExceededException" /> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> public Task<PollForDecisionTaskResponse> PollForDecisionTaskAsync(PollForDecisionTaskRequest pollForDecisionTaskRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new PollForDecisionTaskRequestMarshaller(); var unmarshaller = PollForDecisionTaskResponseUnmarshaller.GetInstance(); return Invoke<IRequest, PollForDecisionTaskRequest, PollForDecisionTaskResponse>(pollForDecisionTaskRequest, marshaller, unmarshaller, signer, cancellationToken); }
/// <summary> /// Initiates the asynchronous execution of the PollForDecisionTask operation. /// <seealso cref="Amazon.SimpleWorkflow.IAmazonSimpleWorkflow"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the PollForDecisionTask operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task<PollForDecisionTaskResponse> PollForDecisionTaskAsync(PollForDecisionTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new PollForDecisionTaskRequestMarshaller(); var unmarshaller = PollForDecisionTaskResponseUnmarshaller.Instance; return InvokeAsync<PollForDecisionTaskRequest,PollForDecisionTaskResponse>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Used by deciders to get a <a>DecisionTask</a> from the specified decision <code>taskList</code>. /// A decision task may be returned for any open workflow execution that is using the /// specified task list. The task includes a paginated view of the history of the workflow /// execution. The decider should use the workflow type and the history to determine how /// to properly handle the task. /// /// /// <para> /// This action initiates a long poll, where the service holds the HTTP connection open /// and responds as soon a task becomes available. If no decision task is available in /// the specified task list before the timeout of 60 seconds expires, an empty result /// is returned. An empty result, in this context, means that a DecisionTask is returned, /// but that the value of taskToken is an empty string. /// </para> /// <important> Deciders should set their client side socket timeout to at least 70 seconds /// (10 seconds higher than the timeout). </important> <important> Because the number /// of workflow history events for a single workflow execution might be very large, the /// result returned might be split up across a number of pages. To retrieve subsequent /// pages, make additional calls to <code>PollForDecisionTask</code> using the <code>nextPageToken</code> /// returned by the initial call. Note that you do <b>not</b> call <code>GetWorkflowExecutionHistory</code> /// with this <code>nextPageToken</code>. Instead, call <code>PollForDecisionTask</code> /// again. </important> /// <para> /// <b>Access Control</b> /// </para> /// /// <para> /// You can use IAM policies to control this action's access to Amazon SWF resources as /// follows: /// </para> /// <ul> <li>Use a <code>Resource</code> element with the domain name to limit the action /// to only specified domains.</li> <li>Use an <code>Action</code> element to allow or /// deny permission to call this action.</li> <li>Constrain the <code>taskList.name</code> /// parameter by using a <b>Condition</b> element with the <code>swf:taskList.name</code> /// key to allow the action to access only certain task lists.</li> </ul> /// <para> /// If the caller does not have sufficient permissions to invoke the action, or the parameter /// values fall outside the specified constraints, the action fails by throwing <code>OperationNotPermitted</code>. /// For details and example IAM policies, see <a href="http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using /// IAM to Manage Access to Amazon SWF Workflows</a>. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the PollForDecisionTask service method.</param> /// /// <returns>The response from the PollForDecisionTask service method, as returned by SimpleWorkflow.</returns> /// <exception cref="LimitExceededException"> /// Returned by any operation if a system imposed limitation has been reached. To address /// this fault you should either clean up unused resources or increase the limit by contacting /// AWS. /// </exception> /// <exception cref="OperationNotPermittedException"> /// Returned when the caller does not have sufficient permissions to invoke the action. /// </exception> /// <exception cref="UnknownResourceException"> /// Returned when the named resource cannot be found with in the scope of this operation /// (region or domain). This could happen if the named resource was never created or is /// no longer available for this operation. /// </exception> public PollForDecisionTaskResponse PollForDecisionTask(PollForDecisionTaskRequest request) { var marshaller = new PollForDecisionTaskRequestMarshaller(); var unmarshaller = PollForDecisionTaskResponseUnmarshaller.Instance; return Invoke<PollForDecisionTaskRequest,PollForDecisionTaskResponse>(request, marshaller, unmarshaller); }
public void PollForDecisionTaskMarshallTest() { var request = InstantiateClassGenerator.Execute<PollForDecisionTaskRequest>(); var marshaller = new PollForDecisionTaskRequestMarshaller(); var internalRequest = marshaller.Marshall(request); var jsonRequest = UTF8Encoding.UTF8.GetString(internalRequest.Content); Comparer.CompareObjectToJson<PollForDecisionTaskRequest>(request,jsonRequest); var webResponse = new WebResponseData { Headers = { {"x-amzn-RequestId", Guid.NewGuid().ToString()}, {"x-amz-crc32","0"} } }; var jsonResponse = new JsonSampleGenerator(service_model, service_model.FindOperation("PollForDecisionTask").ResponseStructure).Execute(); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(jsonResponse).Length.ToString()); UnmarshallerContext context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(jsonResponse), false, webResponse); var response = PollForDecisionTaskResponseUnmarshaller.Instance.Unmarshall(context) as PollForDecisionTaskResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
/// <summary> /// Initiates the asynchronous execution of the PollForDecisionTask operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the PollForDecisionTask operation on AmazonSimpleWorkflowClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPollForDecisionTask /// operation.</returns> public IAsyncResult BeginPollForDecisionTask(PollForDecisionTaskRequest request, AsyncCallback callback, object state) { var marshaller = new PollForDecisionTaskRequestMarshaller(); var unmarshaller = PollForDecisionTaskResponseUnmarshaller.Instance; return BeginInvoke<PollForDecisionTaskRequest>(request, marshaller, unmarshaller, callback, state); }
/// <summary> /// <para> Used by deciders to get a DecisionTask from the specified decision <c>taskList</c> . /// A decision task may be returned for any open workflow execution that is using the specified task list. The task includes a paginated /// view of the history of the workflow execution. The decider should use the workflow type and the history to determine how to properly handle /// the task. </para> <para> This action initiates a long poll, where the service holds the HTTP connection open and responds as soon a task /// becomes available. If no decision task is available in the specified task list before the timeout of 60 seconds expires, an empty result is /// returned. An empty result, in this context, means that a DecisionTask is returned, but that the value of taskToken is an empty string. /// </para> <para><b>IMPORTANT:</b> Deciders should set their client side socket timeout to at least 70 seconds (10 seconds higher than the /// timeout). </para> <para><b>IMPORTANT:</b> Because the number of workflow history events for a single workflow execution might be very large, /// the result returned might be split up across a number of pages. To retrieve subsequent pages, make additional calls to PollForDecisionTask /// using the nextPageToken returned by the initial call. Note that you do not call GetWorkflowExecutionHistory with this nextPageToken. /// Instead, call PollForDecisionTask again. </para> <para> <b>Access Control</b> </para> <para>You can use IAM policies to control this /// action's access to Amazon SWF resources as follows:</para> /// <ul> /// <li>Use a <c>Resource</c> element with the domain name to limit the action to only specified domains.</li> /// <li>Use an <c>Action</c> element to allow or deny permission to call this action.</li> /// <li>Constrain the <c>taskList.name</c> parameter by using a <b>Condition</b> element with the <c>swf:taskList.name</c> key to allow the /// action to access only certain task lists.</li> /// /// </ul> /// <para>If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified /// constraints, the action fails by throwing <c>OperationNotPermitted</c> . For details and example IAM policies, see <a href="http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> /// .</para> /// </summary> /// /// <param name="pollForDecisionTaskRequest">Container for the necessary parameters to execute the PollForDecisionTask service method on /// AmazonSimpleWorkflow.</param> /// /// <returns>The response from the PollForDecisionTask service method, as returned by AmazonSimpleWorkflow.</returns> /// /// <exception cref="T:Amazon.SimpleWorkflow.Model.OperationNotPermittedException" /> /// <exception cref="T:Amazon.SimpleWorkflow.Model.UnknownResourceException" /> /// <exception cref="T:Amazon.SimpleWorkflow.Model.LimitExceededException" /> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> public async Task<PollForDecisionTaskResponse> PollForDecisionTaskAsync(PollForDecisionTaskRequest pollForDecisionTaskRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new PollForDecisionTaskRequestMarshaller(); var unmarshaller = PollForDecisionTaskResponseUnmarshaller.GetInstance(); var response = await Invoke<IRequest, PollForDecisionTaskRequest, PollForDecisionTaskResponse>(pollForDecisionTaskRequest, marshaller, unmarshaller, signer, cancellationToken) .ConfigureAwait(continueOnCapturedContext: false); return response; }
/// <summary> /// <para> Used by deciders to get a DecisionTask from the specified decision <c>taskList</c> . /// A decision task may be returned for any open workflow execution that is using the specified task list. The task includes a paginated /// view of the history of the workflow execution. The decider should use the workflow type and the history to determine how to properly handle /// the task. </para> <para> This action initiates a long poll, where the service holds the HTTP connection open and responds as soon a task /// becomes available. If no decision task is available in the specified task list before the timeout of 60 seconds expires, an empty result is /// returned. An empty result, in this context, means that a DecisionTask is returned, but that the value of taskToken is an empty string. /// </para> <para><b>IMPORTANT:</b> Deciders should set their client side socket timeout to at least 70 seconds (10 seconds higher than the /// timeout). </para> <para><b>IMPORTANT:</b> Because the number of workflow history events for a single workflow execution might be very large, /// the result returned might be split up across a number of pages. To retrieve subsequent pages, make additional calls to PollForDecisionTask /// using the nextPageToken returned by the initial call. Note that you do not call GetWorkflowExecutionHistory with this nextPageToken. /// Instead, call PollForDecisionTask again. </para> /// </summary> /// /// <param name="pollForDecisionTaskRequest">Container for the necessary parameters to execute the PollForDecisionTask service method on /// AmazonSimpleWorkflow.</param> /// /// <returns>The response from the PollForDecisionTask service method, as returned by AmazonSimpleWorkflow.</returns> /// /// <exception cref="OperationNotPermittedException"/> /// <exception cref="UnknownResourceException"/> public PollForDecisionTaskResponse PollForDecisionTask(PollForDecisionTaskRequest pollForDecisionTaskRequest) { IRequest<PollForDecisionTaskRequest> request = new PollForDecisionTaskRequestMarshaller().Marshall(pollForDecisionTaskRequest); PollForDecisionTaskResponse response = Invoke<PollForDecisionTaskRequest, PollForDecisionTaskResponse> (request, this.signer, PollForDecisionTaskResponseUnmarshaller.GetInstance()); return response; }