Troubleshooting

Introduction

When verifying or uploading scripts, you may encounter problems. To help resolve any issues that might occur the most common difficulties and suggestions for solutions are given here. Error messages and error codes you may get when using the Keynote (Test Perspective) Recorder are included.

Verify Failed Error Messages

There are a number of actions you can take when your script verification fails.

Back to top

Browser Errors

The following are browser related error messages. These generally apply to the HTML content returned by the Web server after a GET or POST operation.

JavaScript errors and IE Debugger

In some cases, when a script includes a page containing a JavaScript error, the IE Debugger facility may start, and attempts to close the IE Debugger will cause the Test Perspective Recorder to hang. To prevent this, you need to disable script debugging in Internet Explorer. Here's how:

  1. Open Internet Explorer with Test Perspective Recorder not running.
  2. Select Tools > Internet Options > Advanced.
  3. Under Browsing, select Disable script debugging.
  4. Click OK.

EWebBrowser and EHTMLFrame Errors

Broken Area -%s not found: the coordinates could not be found in any area elements of the current HTML document.
ACTION ITEM: turn on Index Only in the Edit menu Link Options box. If Verify still fails, replace this link with a 'GET' function option.

Broken Area - index not found: the index could not be found in the area array of the current HTML document.
ACTION ITEM: turn on Display Only in the Edit menu Link Options box. If Verify still fails, replace this link with a 'GET' function option.

Broken Image -%s not found: the alternate text could not be found in any image elements of the current HTML document.
ACTION ITEM: turn on Index Only in the Edit menu Link Options box. If Verify still fails, replace this link with a 'GET' function option.

Broken Image - index not found: the index could not be found in the image array of the current HTML document.
ACTION ITEM: turn on Display Text Only in the Edit menu Link Options box. If Verify still fails, replace this link with a 'GET' function option.

Broken Link -%s not found: the display text could not be found in any anchor elements of the current HTML document.
ACTION ITEM: turn on Index Only in the Edit menu Link Options box. If Verify still fails, replace this link with a 'GET' function option.

Broken Link - index not found: the index could not be found in the anchor array of the current HTML document.
ACTION ITEM: turn on Display Text Only in the Edit menu Link Options box. If Verify still fails, replace this link with a 'GET' function option.

CheckPageTitle(%s) failed: the current HTML document did not have the specified title.
ACTION ITEM: Check that the CheckPageTitle function option that you inserted into your script has been defined correctly in Test Perspective Recorder.

CheckText(%s) failed: the current HTML document did not contain the specified string.
ACTION ITEM: Check that the CheckPageText function option that you inserted into your script has been defined correctly in Test Perspective Recorder.

Connection threads never completed: the virtual user timed out waiting for HTTP responses from the connection threads.
ACTION ITEM: Check your connection to the Internet and access to the target Web site.

Could not get connection thread: there are no connection threads available for HTTP requests, or the virtual user timed out trying to obtain a free connection thread.
ACTION ITEM: Check your connection to the Internet and your access to the tested site.

Failed to get parameter %s: the specified parameter did not exist, or a value could not be loaded for it.
ACTION ITEM: Check that this variable has been defined correctly in Test Perspective Recorder.

Frame load failed: a URL could not be loaded for a frame in the current HTML document's frameset.
ACTION ITEM: Check the frameset page for outdated frames.

Back to top

EHTML Form Errors

The following are EHTML error messages. These apply to operations on HTML forms.

Failed to find option element: an option element with a matching value could not be found within the specified select element of the given form.
ACTION ITEM: Check the HTML page source to see if your option element in the form has an unrecognizable format. Test Perspective Recorder only supports <option> with the following closing tags: </option>, </optgroup>, </select>; or close by the subsequent <option>, <optgroup> tag. Correct the HTML page source and re-record the script.

Failed to find select element: the specified select element could not be found in the given form.
ACTION ITEM: Check the HTML page source, it may not contain the form anymore. Re-record the script.

Failed to get form element & Failed to get select element: the specified element could not be found in the given form.
ACTION ITEM: Check the HTML page source, it may not contain the form anymore. Re-record the script.

Unknown form action -%s: an unknown action was specified for a form element. Only GET and POST methods are supported.
ACTION ITEM: only GET and POST form actions are supported. Check your HTML page source for possible syntax errors for that form action, correct them and re-record the script.

General Action Items

Back to top

Server Access Errors

The following are EWebConn server access error messages. These apply to the HTTP requests sent to or returned from the Web server. For information on the error codes, see HTTP Server Error Codes or WinInet Error Codes. See the GENERAL ACTION ITEMS if no specific Action Item is given.

Could not add cookie headers to the request: the HTTP cookie headers for the request could not be added.

Could not generate return Base URL: the base URL could not be parsed from the URL of the final destination. This URL is used to resolve relative URLs in the document.

Could not get content type: the content type (ex: text/html) of the response could not be determined.

Could not get request header: could not retrieve the sent HTTP header from WinInet.

Could not get return header: could not retrieve the returned HTTP header from WinInet.

Could not get URL info: could not get the base URL and server URL of the final destination.

Could not generate return server: the server URL could not be parsed from the URL of the final destination. This URL is used to resolve relative URLs in the document.

Could not parse URL: the given URL was invalid and could not be parsed.
ACTION ITEM: check that all elements (script, title, anchor, iframe, form, comment) of your HTML source page have matching closing tags.

Could not put cookie into cache: a cookie returned by the server had an invalid format and could not be put into the cookie cache.
ACTION ITEM: Check your Web site's cookie mechanisms and make sure they generate valid cookies.

Could not read HTML Internet file. Errno = %d: the body of a returned HTML document could not be read. The error number is the returned WinInet error.

Could not read non-HTML Internet file. Errno = %d: the body of a returned non-HTML document could not be read. The error number is the returned WinInet error.

Could not return status code. Errno = %d: the HTTP response code could not be extracted from the returned HTTP header. The error number is the returned WinInet error code.

Could not send header request. Errno = %d: the HTTP request could not be sent to the server. The error number is the returned WinInet error code.

Failed to add content headers for post data: the HTTP headers, "Content-Type" and "Content-Length" were not successfully updated to reflect the post body.

Invalid server response for %s. Server Response =%d: the request for a URL was denied or failed. The error number is the HTTP server return code. Only return codes from the 4xx and 5xx ranges result in this error.

No location for redirect: the response for an HTTP request indicates that a redirection is necessary, but no destination is given.
ACTION ITEM: Check your Web site's redirection scheme and ensure that the redirection return codes (3xx) are given with a valid destination.

No request could be opened against server. Errno =%d: a request could not be made for a URL.

No valid connection to HTTP server could be established. Errno = %d: the load agent could not connect with the specified HTTP server. The error number is the returned WinInet error code.

General Action Items

For the above error messages, try taking these actions.

Back to top

Upload Failed Error Messages

These are error messages that may appear in Test Perspective Recorder if the script upload fails.

<IP address> of host <IP address> is not valid for account <account number>

Your account is restricted to testing against domains and IP addresses you either own or have authority to test against.

You cannot upload scripts that contain domains or IP addresses that are not valid for your account.

Please modify your script or contact Keynote (www.keynote.com/support/) to change your account permissions.

ACTION ITEM: You can check IP addresses used in your script by checking on the IP List after playback. Determine whether you in fact want to test against all the domains listed. If you do, you must contact Keynote to expand your account permissions. If not, you can exclude domains using the Content Exclusion feature.

Failed to get request document or Failed to get root element.
ACTION ITEM: a Keynote Testing Portal error, please report to Keynote.

Failed to authenticate <user name>.
ACTION ITEM: you entered an invalid User Name or Password, get your Keynote Test Perspective Administrator to check the status of your user account.

<user name> is not authorized to upload scripts.
ACTION ITEM: see your Keynote Test Perspective Administrator to get assigned this privilege, you have to have either the Administrator or Power User Role.

Script <name> exists.
ACTION ITEM: Overwrite the existing script (option is offered) or upload the script with a different name.

Maximum number of scripts (N) reached.
ACTION ITEM: go to the Scripts tab and delete some scripts.

Incomplete data.
ACTION ITEM: a Keynote Testing Portal error, please report to Keynote.

Failed to compile script.
ACTION ITEM: a Keynote Testing Portal error, please report to Keynote.

Failed update database.
ACTION ITEM: a Keynote Testing Portal error, please report to Keynote.

Exception in handling upload: <details of the error>.
ACTION ITEM: a Keynote Testing Portal error, please report to Keynote.

Scripts Processing.
Test Perspective Recorder uploads your script with a list of IPs used in the script. The Keynote Testing Portal checks the IPs against the pre-approved IPs for your account. If a match cannot be found, the system refuses to process the script, and generates an invalid IP error.

Back to top

Download Errors

Download errors are errors that occur during the process of retrieving the contents of a URL. They are displayed in Prophecy charts as "Failed Page Loads". There are several categories of download errors: Authorization Errors, Application Errors, WinInet Errors, Custom Coding Errors, and Product Errors.

Authorization Errors

Authorization errors occur when the client attempts to access an object whose access is restricted by the Test Perspective product. The Test Perspective product restricts access to objects based on the IP address and hostname of the object's server.

Request uses unauthorized server(%s - %s): This error occurs if the script attempts to access a server that has not been granted authorization for the current customer. If the server should be authorized, please consult Test Perspective customer support to initiate adding the server to your authorized list. (%s - The hostname of the unauthorized server; %s - The unauthorized IP address)

Application Errors

Application errors occur when the tested application is behaving in an unexpected or unsupported manner. Applications that function normally under low load can trigger errors when subjected to high loads.

Exceeded maximum retry/redirection level: This error occurs if a download results in an excessively long series of redirects. A long series of redirects often indicates that an infinite loop of redirection is occurring. Please check your application code for infinite redirection loops.

Invalid server response for %s. Server Response = %d: This error occurs if an HTTP request results in an invalid HTTP server code. For requests to base URLs, both the client error (4xx) and server error (5xx) series of return codes are considered invalid. For requests to embedded objects, only the server error (5xx) series of return codes are considered invalid. (%s - The URL that resulted in the invalid server response; %d - The invalid HTTP response code)

Could not get URL info: This error occurs if the URL of the downloaded object cannot be parsed into the components needed to resolve partial URLs. Please check that the downloaded URL uses valid syntax.

Could not put cookie(%s) into cache: This error occurs if a cookie header returned by the target via an HTTP header cannot be parsed or put into a user's cookie cache. Please check the syntax of the cookie header. (%s - The cookie header)

Could not put META cookie(%s) into cache: This error occurs if a cookie header returned by the target via the HTML META element cannot be parsed or put into a user's cookie cache. Please check the syntax of the cookie header. (%s - The cookie header)

No location for redirect: This error occurs if the HTTP server response code indicates that a redirection should occur, but no location is specified. Please check the tested application's redirection code.

Could not canonicalize URL: This error occurs if the target URL cannot be put into canonical form. Please check the syntax of the URL.

Could not parse URL: This error occurs if the target URL cannot be parsed into its constituent components (scheme, hostname, port, path, and object). Please check the syntax of the URL.

Failed to connect: This error occurs if the client cannot dispatch the HTTP request to a connection thread. The most common cause of this error is a malformed URL. Please check the syntax of the URL.

WinInet Errors

WinInet errors occur when a client's call to one of the WinInet APIs fails. WinInet APIs most often fail due to the target web site returning an unexpected response, or if there are network issues. All WinInet related error messages contain a WinInet specific error code, which can be useful in obtaining more details on the error.

No valid connection to HTTP server could be established. Errno = %d: This error occurs if the client's call to the InternetConnect WinInet API fails. The error generally occurs when the client cannot establish an initial TCP/IP connection with the target web server. Please consult the WinInet error reference for more details. (%d - The error code returned from the InternetConnect WinInet API)

No request could be opened against server. Errno = %d: This error occurs if the client's call to the HttpOpenRequest WinInet API fails. This error generally occurs when the client cannot start an HTTP request. Please consult the WinInet error reference for more details. (%d - The error code returned from the HttpOpenRequest WinInet API)

Could not send header request. Errno = %d: This error occurs if the client's call to the HttpSendRequest WinInet API fails. This error generally occurs if the client cannot send an HTTP request, or if the server does not send a valid response to the request. Please consult the WinInet error reference for more details. (%d - The error code returned from the HttpSendRequest WinInet API)

Could not return status code. Errno = %d: This error occurs if the client cannot determine the HTTP return code from the web server's response using the HttpQueryInfo WinInet API. Please consult the WinInet error reference for more details. (%d - The error code returned from the HttpQueryInfo WinInet API)

Could not read %s Internet file. Errno = %d: This error occurs if the client's call to the InternetReadFile WinInet API fails. The error generally occurs if network problems occur in the middle of the download, after a valid HTTP response header has already been received. Please consult the WinInet error reference for more details. (%s - The content type of the downloaded object; %d - The error code returned from the InternetReadFile WinInet API)

Custom Coding Errors

Failed to add content headers for post data: This error occurs if the client cannot generate the required HTTP headers for its POST request. These headers can be affected by use of the SetPostBody API. Please consult the scripting reference for correct usage of the SetPostBody API.

Failed to add content headers for put data: This error occurs if the client cannot generate the required HTTP headers for its PUT request. These headers can be affected by use of the SetPutBody API. Please consult the scripting reference for correct usage of the SetPutBody API.

Product Errors

Product errors are generally the result of a problem in the execution of the Test Perspective product. These errors should be reported to Keynote customer support representatives for resolution.

Failed to add %s header: This error occurs if the client cannot create one of the required HTTP headers for its request. This error should not occur during normal operation of the product. (%s - The HTTP header that could not be added)

Could not add cookie header(%s) to request: This error occurs if the client cannot create the Cookie HTTP header for its request. This error should not occur during normal operation of the product. (%s - The cookie header)

Connection threads never completed: This error occurs if the client's connection threads are unable to complete or abort an HTTP request. This error should not occur during normal operation of the product.

Back to top

Transaction Errors

Transaction errors are errors that cause a script transaction to fail that are not associated with the direct retrieval of a URL. Transaction errors are displayed in Load Test charts as "Failed Script Iterations". There are several categories of transaction errors: Link Validation Errors, Form Validation Errors, User Defined Validation Errors, Custom Coding Errors, and Product Errors.

Link Validation Errors

Link validation errors are triggered when a script cannot continue due to a problem with a link specified in the script. Links are specified in a script when a LINK action is created by the Test Perspective Recorder.

Operation failed - The frame's content is empty or is not HTML: This error occurs if the downloaded object is empty or is not HTML, and the current script operation is only valid on HTML documents. Link operations require valid HTML to function correctly.

Broken Link - %s not found: This error occurs if the downloaded HTML does not contain a text link (HTML "A" element) whose inner text matches the inner text specified in the script. The client was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. Please check that the inner text specified in the script is either static on the web site, or has been parameterized correctly. (%s - The inner text specified in the script)

Broken Link - index(%d) not found: This error occurs if the downloaded HTML does not contain a text link whose index matches the index specified in the script. The client was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. Please check that the index specified in the script is either static on the web site, or has been parameterized correctly. (%d - The index specified in the script)

Broken Image - %s not found: This error occurs if the downloaded HTML does not contain a linked IMG element whose SRC or ALT attribute matches the SRC or ALT attribute value specified in the script. The client was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. Please check that the SRC or ALT attribute value specified in the script is either static on the web site, or has been parameterized correctly. (%s - The SRC or ALT attribute value specified in the script)

Broken Image - index(%d) not found: This error occurs if the downloaded HTML does not contain a linked IMG element whose index matches the index specified in the script. The client was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. Please check that the index specified in the script is either static on the web site, or has been parameterized correctly. (%d - The index specified in the script)

Broken Area - %s not found: This error occurs if the downloaded HTML does not contain an AREA element whose COORDS or ALT attribute matches the COORDS or ALT attribute value specified in the script. The client was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. Please check that the COORDS or ALT attribute value specified in the script is either static on the web site, or has been parameterized correctly. (%s - The COORDS or ALT attribute value specified in the script)

Broken Area - index(%d) not found: This error occurs if the downloaded HTML does not contain an AREA element whose index matches the index specified in the script. The client was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. Please check that the index specified in the script is either static on the web site, or has been parameterized correctly. (%d - The index specified in the script)

Broken Link - No HREF attribute: This error occurs if the script references a text link (HTML "A" element) that does not have an HREF attribute value. The client needs a valid HREF attribute value to continue to the next URL. Please check the syntax of the HTML page.

Broken Image - image not selectable: This error occurs if the script references an IMG element that is not linked (surrounded by an HTML "A" element). The client needs the IMG element to be linked to continue to the next URL. Please check the syntax of the HTML page.

Form Validation Errors

Form validation errors are triggered when the script cannot submit a form specified in the script. Forms are specified in a script when a SUBMIT action is created by Test Perspective Recorder.

Operation failed - The frame's content is empty or is not HTML: This error occurs if the downloaded object is empty or is not HTML and the current script operation is only valid on HTML documents. Form submission operations require valid HTML to function correctly.

Unknown form action - %s: This error occurs if the METHOD attribute of the form to be submitted is not a supported method. The supported methods for a form submission are GET and POST. Please check that the HTML that defines the form has the correct syntax. (%s - The HTTP method)

Failed to find radio control(%s): This error occurs if the form does not contain a radio button control whose NAME attribute matches the NAME attribute value specified in the script. The client was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. Please check that the NAME attribute value specified in the script is either static on the web site, or has been parameterized correctly. (%s - The NAME attribute value specified in the script)

Failed to find checkbox control(%s): This error occurs if the form does not contain a checkbox control whose NAME attribute matches the NAME attribute value specified in the script. The client was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. Please check that the NAME attribute value specified in the script is either static on the web site, or has been parameterized correctly. (%s - The NAME attribute value specified in the script)

Failed to find select element(%s): This error occurs if the form does not contain a drop-down menu control whose NAME attribute matches the NAME attribute value specified in the script. The client was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. Please check that the NAME attribute value specified in the script is either static on the web site, or has been parameterized correctly. (%s - The NAME attribute specified in the script)

Failed to find option element(%s): This error occurs if the drop-down menu controls in the form do not contain an OPTION element whose inner text matches the inner text specified in the script. The client was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. Please check that the inner text specified in the script is either static on the web site, or has been parameterized correctly. (%s - The OPTION element inner text specified in the script)

Failed to find option element index(%d): This error occurs if the drop-down menu controls in the form do not contain an OPTION element whose index matches the index specified in the script. The client was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. Please check that the index specified in the script is either static on the web site, or has been parameterized correctly. (%d - The OPTION element index specified in the script)

Failed to find submit element(%s): This error occurs if the form does not contain a submit control whose VALUE attribute matches the VALUE attribute value specified in the script. The client was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. Please check that the VALUE attribute value specified in the script is either static on the web site, or has been parameterized correctly. (%s - The VALUE attribute specified in the script)

User Defined Validation Errors

User defined validation errors are triggered when a user defined validation function fails. There are several different user definable validation functions, each of which will produce a different validation error. User defined validation functions are automatically generated when a user edits a script through the Recorder's Validation tab.

CheckPageTitle(%s) failed: This error occurs if the downloaded HTML does not contain a TITLE element specified in the script. The agent was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. (%s - The user defined title)

CheckText(%s) failed: This error occurs if the downloaded HTML does not contain a string specified in the script. The agent was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. (%s - The user defined text)

CheckElement(%s) failed: This error occurs if the downloaded HTML does not contain a user specified HTML element. The agent was able to retrieve the contents of a URL successfully, but the downloaded HTML does not match the expected HTML. (%s - The user defined element)

Custom Coding Errors

Custom Coding errors can generally only be triggered by manual editing of script code generated by Test Perspective Recorder. These errors usually indicate incorrect or unsupported usage of scripting APIs.

Failed to set pool size. Size not within allowed bounds: This error occurs if the SetPoolSize API is called with an invalid number. Please consult the scripting reference for correct usage of the SetPoolSize API.

Failed to set upload size. Size not within allowed bounds: This error occurs if the SetUploadSize API is called with an invalid number. Please consult the scripting reference for correct usage of the SetUploadSize API.

Failed to start session. Already in session: This error occurs if the StartSession API is called in the middle of a transaction. Please consult the scripting reference for correct usage of the StartSession API.

Failed to end session. Not in a session: This error occurs if the EndSession API is called while not in a transaction. Please consult the scripting reference for correct usage of the EndSession API.

Product Errors

Product errors are generally the result of a problem in the execution of the Test Perspective product. These errors should be reported to Keynote customer support representatives for resolution.

Failed to get parameter %s: This error occurs when a Recorder variable cannot be resolved to a value. Recorder variables are automatically generated by the Test Perspective Recorder when scripts are parameterized to include multiple or random choices for any editable value. This error should not occur during normal operation of the product. (%s - The parameter name)

Failed to clear cookies. No cookie cache instantiated: This error occurs if the cookie cache for a user cannot be cleared. This error should not occur during normal operation of the product.

Failed to delete cookies. No cookie cache instantiated: This error occurs if cookies cannot be deleted from a user's cookie cache. This error should not occur during normal operation of the product.

Failed to create some connection threads. Errno = %d: This error occurs if not all connection threads can be created for a user. This error should not occur during normal operation of the product (%d - The Windows error number)

Back to top

Error Codes

The following are error codes that you may receive when verifying or uploading. The error code accompanying the error message may not necessarily indicate the same condition described by the error message. For further information, view the code descriptions given.

HTTP Server Error Codes

Possible HTTP Server Error Codes are described in the table below. Descriptions are from the W3C's HTTP/1.1 Protocol Specifications.

Code Description
400 Bad Request: the request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.
401 Unauthorized: the request requires user authentication. The response MUST include a WWW-Authenticate header field containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field. If the request already included Authorization credentials, then the 401 response indicates that authorization has been refused for those credentials. If the 401 response contains the same challenge as the prior response, and the user agent has already attempted authentication at least once, then the user SHOULD be presented the entity that was given in the response, since that entity might include relevant diagnostic information. HTTP access authentication is explained in "HTTP Authentication: Basic and Digest Access Authentication"
402 Payment Required: this code is reserved for future use.
403 Forbidden: the server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated. If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information available to the client, the status code 404 (Not Found) can be used instead.
404 Not found: the server has not found anything matching the Request-URL. No indication is given of whether the condition is temporary or permanent. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.
405 Method not Allowed: the method specified in the Request-Line is not allowed for the resource identified by the Request-URL. The response MUST include an Allow header containing a list of valid methods for the requested resource.
406 Not Acceptable: the resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request. Unless it was a HEAD request, the response SHOULD include an entity containing a list of available entity characteristics and location(s) from which the user or user agent can choose the one most appropriate. The entity format is specified by the media type given in the Content-Type header field. Depending upon the format and the capabilities of the user agent, selection of the most appropriate choice MAY be performed automatically. However, this specification does not define any standard for such automatic selection. Note: HTTP/1.1 servers are allowed to return responses which are not acceptable according to the accept headers sent in the request. In some cases, this may even be preferable to sending a 406 response. User agents are encouraged to inspect the headers of an incoming response to determine if it is acceptable. If the response could be unacceptable, a user agent SHOULD temporarily stop receipt of more data and query the user for a decision on further actions.
407 Proxy Authentication Required: this code is similar to 401 (Unauthorized), but indicates that the client must first authenticate itself with the proxy. The proxy MUST return a Proxy-Authenticate header field containing a challenge applicable to the proxy for the requested resource. The client MAY repeat the request with a suitable Proxy-Authorization header field.
408 Request Time-out: the client did not produce a request within the time that the server was prepared to wait. The client MAY repeat the request without modifications at any later time.
409 Conflict: the request could not be completed due to a conflict with the current state of the resource. This code is only allowed in situations where it is expected that the user might be able to resolve the conflict and resubmit the request. The response body SHOULD include enough information for the user to recognize the source of the conflict. Ideally, the response entity would include enough information for the user or user agent to fix the problem; however, that might not be possible and is not required. Conflicts are most likely to occur in response to a PUT request. For example, if versioning were being used and the entity being PUT included changes to a resource which conflict with those made by an earlier (third-party) request, the server might use the 409 response to indicate that it can't complete the request. In this case, the response entity would likely contain a list of the differences between the two versions in a format defined by the response Content-Type.
410 Gone: the requested resource is no longer available at the server and no forwarding address is known. This condition is expected to be considered permanent. Clients with link editing capabilities SHOULD delete references to the Request-URL after user approval. If the server does not know, or has no facility to determine, whether or not the condition is permanent, the status code 404 (Not Found) SHOULD be used instead. This response is cacheable unless indicated otherwise. The 410 response is primarily intended to assist the task of web maintenance by notifying the recipient that the resource is intentionally unavailable and that the server owners desire that remote links to that resource be removed. Such an event is common for limited-time, promotional services and for resources belonging to individuals no longer working at the server's site. It is not necessary to mark all permanently unavailable resources as "gone" or to keep the mark for any length of time -- that is left to the discretion of the server owner.
411 Length Required: the server refuses to accept the request without a defined Content- Length. The client MAY repeat the request if it adds a valid Content-Length header field containing the length of the message-body in the request message.
412 Precondition Failed: the precondition given in one or more of the request-header fields evaluated to false when it was tested on the server. This response code allows the client to place preconditions on the current resource meta information (header field data) and thus prevent the requested method from being applied to a resource other than the one intended.
413 Request Entity Too Large: the server is refusing to process a request because the request entity is larger than the server is willing or able to process. The server MAY close the connection to prevent the client from continuing the request. If the condition is temporary, the server SHOULD include a Retry- After header field to indicate that it is temporary and after what time the client MAY try again.
414 Request - URL Too Long: the server is refusing to service the request because the Request-URL is longer than the server is willing to interpret. This rare condition is only likely to occur when a client has improperly converted a POST request to a GET request with long query information, when the client has descended into a URL "black hole" of redirection (e.g., a redirected URL prefix that points to a suffix of itself), or when the server is under attack by a client attempting to exploit security holes present in some servers using fixed-length buffers for reading or manipulating the Request-URL.
415 Unsupported Media Type: the server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method.
416 Requested Range Not Satisfiable: a server SHOULD return a response with this status code if a request included a Range request-header field, and none of the range-specifier values in this field overlap the current extent of the selected resource, and the request did not include an If-Range request-header field. (For byte-ranges, this means that the first- byte-pos of all of the byte-range-spec values were greater than the current length of the selected resource.) When this status code is returned for a byte-range request, the response SHOULD include a Content-Range entity-header field specifying the current length of the selected resource. This response MUST NOT use the multipart/byteranges content- type.
417 Expectation Failed: the expectation given in an Expect request-header field could not be met by this server, or, if the server is a proxy, the server has unambiguous evidence that the request could not be met by the next-hop server.
500 Internal Server Error: the server encountered an unexpected condition which prevented it from fulfilling the request.
501 Not Implemented: the server does not support the functionality required to fulfill the request. This is the appropriate response when the server does not recognize the request method and is not capable of supporting it for any resource.
502 Bad Gateway: the server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request.
503 Service Unavailable: the server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD handle the response as it would for a 500 response. Note: the existence of the 503 status code does not imply that a server must use it when becoming overloaded. Some servers may wish to simply refuse the connection.
504 Gateway Time-Out: the server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URL (e.g. HTTP, FTP, LDAP) or some other auxiliary server (e.g. DNS) it needed to access in attempting to complete the request. Note: to implementors: some deployed proxies are known to return 400 or 500 when DNS lookups time out.
505 HTTP Version Not Supported: the server does not support, or refuses to support, the HTTP protocol version that was used in the request message. The server is indicating that it is unable or unwilling to complete the request using the same major version as the client, other than with this error message. The response SHOULD contain an entity describing why that version is not supported and what other protocols are supported by that server.

WinInet Error Codes

The WinInet Error Numbers numbers range from 12001 to 12171. Descriptions are given in the table below. The GENERAL ACTION ITEM for these errors is to check for network outages, re-verify again. Or re-record on a different (faster) server.

Code Description
12001 ERROR_INTERNET_OUT_OF_HANDLES: no more handles could be generated at this time.
12002 ERROR_INTERNET_TIMEOUT: the request has timed out.
12003 ERROR_INTERNET_EXTENDED_ERROR: an extended error was returned from the server. This is typically a string or buffer containing a verbose error message.
12004 ERROR_INTERNET_INTERNAL_ERROR: an internal error has occurred.
12005 ERROR_INTERNET_INVALID_URL: the URL is invalid.
12006 ERROR_INTERNET_UNRECOGNIZED_SCHEME: the URL scheme could not be recognized, or is not supported.
12007 ERROR_INTERNET_NAME_NOT_RESOLVED: the server name could not be resolved.
12008 ERROR_INTERNET_PROTOCOL_NOT_FOUND: the requested protocol could not be located.
12009 ERROR_INTERNET_INVALID_OPTION: a request to InternetQueryOption or InternetSetOption specified an invalid option value.
12010 ERROR_INTERNET_BAD_OPTION_LENGTH: the length of an option supplied to InternetQueryOption or InternetSetOption is incorrect for the type of option specified.
12011 ERROR_INTERNET_OPTION_NOT_SETTABLE: the requested option cannot be set, only queried.
12012 ERROR_INTERNET_SHUTDOWN: the Win32 Internet function support is being shut down or unloaded.
12016 ERROR_INTERNET_INVALID_OPERATION: the requested operation is invalid.
12017 ERROR_INTERNET_OPERATION_CANCELLED: the operation was canceled, usually because the handle on which the request was operating was closed before the operation completed.
12018 ERROR_INTERNET_INCORRECT_HANDLE_TYPE: the type of handle supplied is incorrect for this operation.
12019 ERROR_INTERNET_INCORRECT_HANDLE_STATE: the requested operation cannot be carried out because the handle supplied is not in the correct state.
12020 ERROR_INTERNET_NOT_PROXY_REQUEST: the request cannot be made via a proxy.
12021 ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND:a required registry value could not be located.
12022 ERROR_INTERNET_BAD_REGISTRY_PARAMETER: a required registry value was located but is an incorrect type or has an invalid value.
12023 ERROR_INTERNET_NO_DIRECT_ACCESS: direct network access cannot be made at this time.
12024 ERROR_INTERNET_NO_CONTEXT: an asynchronous request could not be made because a zero context value was supplied.
12025 ERROR_INTERNET_NO_CALLBACK: an asynchronous request could not be made because a callback function has not been set.
12026 ERROR_INTERNET_REQUEST_PENDING: the required operation could not be completed because one or more requests are pending.
12027 ERROR_INTERNET_INCORRECT_FORMAT: the format of the request is invalid.
12028 ERROR_INTERNET_ITEM_NOT_FOUND: the requested item could not be located.
12029 ERROR_INTERNET_CANNOT_CONNECT: the attempt to connect to the server failed.
12030 ERROR_INTERNET_CONNECTION_ABORTED: the connection with the server has been terminated.
12031 ERROR_INTERNET_CONNECTION_RESET: the connection with the server has been reset.
12032 ERROR_INTERNET_FORCE_RETRY: the Win32 Internet function needs to redo the request.
12033 ERROR_INTERNET_INVALID_PROXY_REQUEST: the request to the proxy was invalid.
12034 ERROR_INTERNET_NEED_UI: a user interface or other blocking operation has been requested.
12035 ERROR_INTERNET_HANDLE_EXISTS: the request failed because the handle already exists.
12036 ERROR_INTERNET_SEC_CERT_DATE_INVALID: SSL certificate date that was received from the server is bad. The certificate is expired.
12037 ERROR_INTERNET_SEC_CERT_CN_INVALID: SSL certificate common name (host name field) is incorrect-for example, if you entered www.server.com and the common name on the certificate says www.different.com.
12040 ERROR_INTERNET_MIXED_SECURITY: the content is not entirely secure. Some of the content being viewed may have come from unsecured servers.
12041 ERROR_INTERNET_CHG_POST_IS_NON_SECURE:the application is posting and attempting to change multiple lines of text on a server that is not secure.
12042 ERROR_INTERNET_POST_IS_NON_SECURE:the application is posting data to a sever that is not secure.
12043 ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED: the server is requesting client authentication.
12044 ERROR_INTERNET_INVALID_CA: the function is unfamiliar with the Certificate Authority that generated the server's certificate.
12045 ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP: client authorization is not set up on this computer.
12046 ERROR_INTERNET_ASYNC_THREAD_FAILED: the application could not start an asynchronous thread.

HTTP API errors

The table below describes possible HTTP API error codes.
Code Description
12150 ERROR_HTTP_HEADER_NOT_FOUND: the requested header could not be located.
12151 ERROR_HTTP_DOWNLEVEL_SERVER: the server did not return any headers.
12152 ERROR_HTTP_INVALID_SERVER_RESPONSE: the server response could not be parsed.
12153 ERROR_HTTP_INVALID_HEADER: the supplied header is invalid.
12154 ERROR_HTTP_INVALID_QUERY_REQUEST:the request made to HttpQueryInfo is invalid.
12155 ERROR_HTTP_HEADER_ALREADY_EXISTS:the header could not be added because it already exists.

Additional Internet API error codes

The table below describes additional Internet API error codes.
Code Description
12157 ERROR_INTERNET_SECURITY_CHANNEL_ERROR: the application experienced an internal error loading the SSL libraries.
12158 ERROR_INTERNET_UNABLE_TO_CACHE_FILE: the function was unable to cache the file.
12159 ERROR_INTERNET_TCPIP_NOT_INSTALLED: the required protocol stack is not loaded and the application cannot start WinSock.
12163 ERROR_INTERNET_DISCONNECTED: the Internet connection has been lost.
12164 ERROR_INTERNET_SERVER_UNREACHABLE: the Web site or server indicated is unreachable.
12165 ERROR_INTERNET_PROXY_SERVER_UNREACHABLE: the designated proxy server cannot be reached.
12166 ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT: there was an error in the automatic proxy configuration script.
12167 ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT: the automatic proxy configuration script could not be downloaded. The INTERNET_FLAG_MUST_CACHE_REQUEST flag was set.
12169 ERROR_INTERNET_SEC_INVALID_CERT: SSL certificate is invalid.
12170 ERROR_INTERNET_SEC_CERT_REVOKED: SSL certificate was revoked.

Back to top

How to Get Help

Keynote Technical Support is available if you have questions or problems using Test Perspective or other Keynote services.

Support Central: Use Support Central, our support Web page, anytime to enter support requests, check on previous requests, and search our knowledge base. It's the most efficient way to get help.
Phone: (888) KEYSYST (888 539-7978), or (972) 578-7400

Back to top