public void PollForActivityTaskMarshallTest() { var request = InstantiateClassGenerator.Execute <PollForActivityTaskRequest>(); var marshaller = new PollForActivityTaskRequestMarshaller(); var internalRequest = marshaller.Marshall(request); var jsonRequest = UTF8Encoding.UTF8.GetString(internalRequest.Content); Comparer.CompareObjectToJson <PollForActivityTaskRequest>(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("PollForActivityTask").ResponseStructure).Execute(); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(jsonResponse).Length.ToString()); UnmarshallerContext context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(jsonResponse), false, webResponse); var response = PollForActivityTaskResponseUnmarshaller.Instance.Unmarshall(context) as PollForActivityTaskResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
IAsyncResult invokePollForActivityTask(PollForActivityTaskRequest pollForActivityTaskRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new PollForActivityTaskRequestMarshaller().Marshall(pollForActivityTaskRequest); var unmarshaller = PollForActivityTaskResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return result; }
/// <summary> /// <para> Used by workers to get an ActivityTask from the specified activity <c>taskList</c> . /// This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available. The /// maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll will /// return an empty result. An empty result, in this context, means that an ActivityTask is returned, but that the value of taskToken is an /// empty string. If a task is returned, the worker should use its type to identify and process it correctly. </para> <para><b>IMPORTANT:</b> /// Workers should set their client side socket timeout to at least 70 seconds (10 seconds higher than the maximum time service may hold the /// poll request). </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="pollForActivityTaskRequest">Container for the necessary parameters to execute the PollForActivityTask service method on /// AmazonSimpleWorkflow.</param> /// /// <returns>The response from the PollForActivityTask 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<PollForActivityTaskResponse> PollForActivityTaskAsync(PollForActivityTaskRequest pollForActivityTaskRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new PollForActivityTaskRequestMarshaller(); var unmarshaller = PollForActivityTaskResponseUnmarshaller.GetInstance(); return Invoke<IRequest, PollForActivityTaskRequest, PollForActivityTaskResponse>(pollForActivityTaskRequest, marshaller, unmarshaller, signer, cancellationToken); }
/// <summary> /// Initiates the asynchronous execution of the PollForActivityTask operation. /// <seealso cref="Amazon.SimpleWorkflow.IAmazonSimpleWorkflow"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the PollForActivityTask 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<PollForActivityTaskResponse> PollForActivityTaskAsync(PollForActivityTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new PollForActivityTaskRequestMarshaller(); var unmarshaller = PollForActivityTaskResponseUnmarshaller.Instance; return InvokeAsync<PollForActivityTaskRequest,PollForActivityTaskResponse>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Used by workers to get an <a>ActivityTask</a> from the specified activity <code>taskList</code>. /// This initiates a long poll, where the service holds the HTTP connection open and responds /// as soon as a task becomes available. The maximum time the service holds on to the /// request before responding is 60 seconds. If no task is available within 60 seconds, /// the poll will return an empty result. An empty result, in this context, means that /// an ActivityTask is returned, but that the value of taskToken is an empty string. If /// a task is returned, the worker should use its type to identify and process it correctly. /// /// /// <important> Workers should set their client side socket timeout to at least 70 seconds /// (10 seconds higher than the maximum time service may hold the poll request). </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 PollForActivityTask service method.</param> /// /// <returns>The response from the PollForActivityTask 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 PollForActivityTaskResponse PollForActivityTask(PollForActivityTaskRequest request) { var marshaller = new PollForActivityTaskRequestMarshaller(); var unmarshaller = PollForActivityTaskResponseUnmarshaller.Instance; return Invoke<PollForActivityTaskRequest,PollForActivityTaskResponse>(request, marshaller, unmarshaller); }
public void PollForActivityTaskMarshallTest() { var request = InstantiateClassGenerator.Execute<PollForActivityTaskRequest>(); var marshaller = new PollForActivityTaskRequestMarshaller(); var internalRequest = marshaller.Marshall(request); var jsonRequest = UTF8Encoding.UTF8.GetString(internalRequest.Content); Comparer.CompareObjectToJson<PollForActivityTaskRequest>(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("PollForActivityTask").ResponseStructure).Execute(); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(jsonResponse).Length.ToString()); UnmarshallerContext context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(jsonResponse), false, webResponse); var response = PollForActivityTaskResponseUnmarshaller.Instance.Unmarshall(context) as PollForActivityTaskResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
/// <summary> /// Initiates the asynchronous execution of the PollForActivityTask operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the PollForActivityTask 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 EndPollForActivityTask /// operation.</returns> public IAsyncResult BeginPollForActivityTask(PollForActivityTaskRequest request, AsyncCallback callback, object state) { var marshaller = new PollForActivityTaskRequestMarshaller(); var unmarshaller = PollForActivityTaskResponseUnmarshaller.Instance; return BeginInvoke<PollForActivityTaskRequest>(request, marshaller, unmarshaller, callback, state); }
/// <summary> /// <para> Used by workers to get an ActivityTask from the specified activity <c>taskList</c> . /// This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available. The /// maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll will /// return an empty result. An empty result, in this context, means that an ActivityTask is returned, but that the value of taskToken is an /// empty string. If a task is returned, the worker should use its type to identify and process it correctly. </para> <para><b>IMPORTANT:</b> /// Workers should set their client side socket timeout to at least 70 seconds (10 seconds higher than the maximum time service may hold the /// poll request). </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="pollForActivityTaskRequest">Container for the necessary parameters to execute the PollForActivityTask service method on /// AmazonSimpleWorkflow.</param> /// /// <returns>The response from the PollForActivityTask 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<PollForActivityTaskResponse> PollForActivityTaskAsync(PollForActivityTaskRequest pollForActivityTaskRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new PollForActivityTaskRequestMarshaller(); var unmarshaller = PollForActivityTaskResponseUnmarshaller.GetInstance(); var response = await Invoke<IRequest, PollForActivityTaskRequest, PollForActivityTaskResponse>(pollForActivityTaskRequest, marshaller, unmarshaller, signer, cancellationToken) .ConfigureAwait(continueOnCapturedContext: false); return response; }
/// <summary> /// <para> Used by workers to get an ActivityTask from the specified activity <c>taskList</c> . /// This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available. The /// maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll will /// return an empty result. An empty result, in this context, means that an ActivityTask is returned, but that the value of taskToken is an /// empty string. If a task is returned, the worker should use its type to identify and process it correctly. </para> <para><b>IMPORTANT:</b> /// Workers should set their client side socket timeout to at least 70 seconds (10 seconds higher than the maximum time service may hold the /// poll request). </para> /// </summary> /// /// <param name="pollForActivityTaskRequest">Container for the necessary parameters to execute the PollForActivityTask service method on /// AmazonSimpleWorkflow.</param> /// /// <returns>The response from the PollForActivityTask service method, as returned by AmazonSimpleWorkflow.</returns> /// /// <exception cref="OperationNotPermittedException"/> /// <exception cref="UnknownResourceException"/> public PollForActivityTaskResponse PollForActivityTask(PollForActivityTaskRequest pollForActivityTaskRequest) { IRequest<PollForActivityTaskRequest> request = new PollForActivityTaskRequestMarshaller().Marshall(pollForActivityTaskRequest); PollForActivityTaskResponse response = Invoke<PollForActivityTaskRequest, PollForActivityTaskResponse> (request, this.signer, PollForActivityTaskResponseUnmarshaller.GetInstance()); return response; }