Пример #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ServiceException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public ServiceException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError != null ? serviceError.Message : "Unknown")
 {
     if (serviceError != null)
     {
         _errorCode = serviceError.Code;
     }
     _serviceResponse = serviceResponse;
 }
Пример #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ServiceException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public ServiceException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError != null ? serviceError.Message : "Unknown")
 {
     if (serviceError != null)
     {
         _errorCode = serviceError.Code;
     }
     _serviceResponse = serviceResponse;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ExceedsMaxAssignmentsPerWorkerException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public ExceedsMaxAssignmentsPerWorkerException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AccessKeyException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public AccessKeyException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ExceedsMaxAssignmentsPerWorkerException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public ExceedsMaxAssignmentsPerWorkerException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="PermissionDeniedException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public PermissionDeniedException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PermissionDeniedException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public PermissionDeniedException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ParseErrorException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public ParseErrorException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="NoHITsAvailableException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public NoHITsAvailableException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="NoHITsAvailableException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public NoHITsAvailableException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ObjectAlreadyExistsException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public ObjectAlreadyExistsException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QualificationTypeRetryException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public QualificationTypeRetryException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="InvalidTransportEndpointException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public InvalidTransportEndpointException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ParseErrorException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public ParseErrorException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="InvalidParameterValueException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public InvalidParameterValueException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="InvalidParameterValueException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public InvalidParameterValueException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #17
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InvalidStateException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public InvalidStateException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InvalidStateException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public InvalidStateException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ObjectAlreadyExistsException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public ObjectAlreadyExistsException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #20
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InsufficientFundsException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public InsufficientFundsException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #21
0
        /// <summary>
        /// Processes errors found in a response
        /// </summary>
        private static void ProcessErrors(ErrorsError[] errors, object ret, OperationRequest opsReq)
        {
            StringBuilder sb = new StringBuilder("Errors for request ID ");
            sb.Append(opsReq.RequestId);
            sb.Append(":");
            sb.Append(Environment.NewLine);

            ErrorsError err = null;
            for (int i = 0; i < errors.Length; i++)
            {
                // append error information to generic error message
                err = errors[i];
                sb.Append("Error #");
                sb.Append(i + 1);
                sb.Append(" - ");
                sb.Append(err.Code);
                sb.Append(": ");
                sb.Append(err.Message);

                // add additional data returned with the error (if any)
                if (err.Data != null && err.Data.Length > 0)
                {
                    sb.Append(" (Data: ");

                    for (int j = 0; j < err.Data.Length - 1; j++)
                    {
                        sb.Append("[");
                        sb.Append(err.Data[j].Key);
                        sb.Append("=");
                        sb.Append(err.Data[j].Value);
                        sb.Append("], ");
                    }

                    sb.Append("[");
                    sb.Append(err.Data[err.Data.Length - 1].Key);
                    sb.Append("=");
                    sb.Append(err.Data[err.Data.Length - 1].Value);
                    sb.Append("]");

                    sb.Append(" )");
                }

                sb.Append(Environment.NewLine);

                // check for specific exceptions we want to raise
                if (err.Code != null)
                {
                    string code = err.Code;
                    if ("AWS.BadCredentialSupplied|AWS.NotAuthorized|AWS.BadClaimsSupplied".IndexOf(code) != -1)
                    {
                        throw new AccessKeyException(err, ret);
                    }

                    if ("AWS.MechanicalTurk.NoMoreWorkableHITsInGroupException|AWS.MechanicalTurk.NoHITsAvailableInGroupException|AWS.MechanicalTurk.NoHITsAvailableForIterator".IndexOf(code) != -1)
                    {
                        throw new NoHITsAvailableException(err, ret);
                    }

                    if ("AWS.MechanicalTurk.QualificationDoesNotExist|AWS.MechanicalTurk.QualificationRequestDoesNotExist|AWS.MechanicalTurk.QualificationTypeDoesNotExist|AWS.MechanicalTurk.AssignmentDoesNotExist|AWS.MechanicalTurk.HITDoesNotExist".IndexOf(code) != -1)
                    {
                        throw new ObjectDoesNotExistException(err, ret);
                    }

                    if ("AWS.MechanicalTurk.InvalidHITState|AWS.MechanicalTurk.InvalidQualificationTypeState|AWS.MechanicalTurk.InvalidQualificationState|AWS.MechanicalTurk.InvalidQualificationRequestState|AWS.MechanicalTurk.InvalidAssignmentState|AWS.MechanicalTurk.HITAlreadyPassedReview".IndexOf(code) != -1)
                    {
                        throw new InvalidStateException(err, ret);
                    }

                    if ("AWS.MechanicalTurk.AssignmentAlreadyExists|AWS.MechanicalTurk.QualificationTypeAlreadyExists|AWS.MechanicalTurk.QualificationAlreadyExists".IndexOf(code) != -1)
                    {
                        throw new ObjectAlreadyExistsException(err, ret);
                    }

                    if ("AWS.MechanicalTurk.PermissionDeniedException|AWS.MechanicalTurk.DoesNotMeetRequirements".IndexOf(code) != -1)
                    {
                        throw new PermissionDeniedException(err, ret);
                    }

                    if ("AWS.MechanicalTurk.QualificationTypeRetryDelayNotElapsed|AWS.MechanicalTurk.QualificationTypeDoesNotAllowRetake".IndexOf(code) != -1)
                    {
                        throw new QualificationTypeRetryException(err, ret);
                    }

                    if ("AWS.MechanicalTurk.XMLParseError|AWS.MechanicalTurk.XHTMLParseError".IndexOf(code) != -1)
                    {
                        throw new ParseErrorException(err, ret);
                    }

                    if ("AWS.MechanicalTurk.InvalidTransportEndpoint".Equals(code))
                    {
                        throw new InvalidTransportEndpointException(err, ret);
                    }

                    if ("AWS.MechanicalTurk.InvalidParameterValue".Equals(code))
                    {
                        throw new InvalidParameterValueException(err, ret);
                    }

                    if ("AWS.MechanicalTurk.ExceedsMaxAssignmentsPerWorker".Equals(code))
                    {
                        throw new ExceedsMaxAssignmentsPerWorkerException(err, ret);
                    }

                    if ("AWS.MechanicalTurk.InsufficientFunds".Equals(code))
                    {
                        throw new InsufficientFundsException(err, ret);
                    }

                    if ("AWS.MechanicalTurk.HITLayoutDoesNotExist".Equals(code))
                    {
                        throw new HitLayoutDoesNotExistException(err, ret);
                    }
                }
            }

            throw new ServiceException("AWS.MechanicalTurk.GenericError", sb.ToString(), ret);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="InsufficientFundsException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public InsufficientFundsException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="QualificationTypeRetryException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public QualificationTypeRetryException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #24
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AccessKeyException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public AccessKeyException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #25
0
 /// <summary>
 /// Initializes a new instance of the <see cref="HitLayoutDoesNotExistException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public HitLayoutDoesNotExistException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ObjectDoesNotExistException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public ObjectDoesNotExistException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }
Пример #27
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InvalidTransportEndpointException"/> class.
 /// </summary>
 /// <param name="serviceError">The service error.</param>
 /// <param name="serviceResponse">The service response.</param>
 public InvalidTransportEndpointException(ErrorsError serviceError, object serviceResponse)
     : base(serviceError, serviceResponse)
 {
 }