A guide to configuring proxy settings for successful BCS connection testing.
The BCS is a client-side utility that requires direct Internet access to complete connection tests. When a proxy is deployed on the client machine it can interfere with certain BCS protocols. The sections below outline the key areas that may need attention.
The BCS binds to 127.0.0.1 and listens on port 32658 (HTTP) and port 32660 (HTTPS).
When the test page loads, the first action is to establish a WebSocket connection to the BCS.
The test will first attempt ws://bcs.visualware.com:32658, then fall back to ws://127.0.0.1:32658.
Because HTTPS uses a secure certificate bound to a domain name, it will only attempt wss://bcs.visualware.com:32660. This means DNS must be able to resolve bcs.visualware.com to 127.0.0.1.
Basic diagram depicting the initial BCS connection protocol.
Once the local WebSocket connection is established, the BCS makes numerous resource requests to the testing server over the Internet.
These resources include licensing information and test specifications.
Basic diagram depicting the BCS resource request protocol.
The tests themselves do not utilize the proxy as they require a variety of ports to be open.
For example, the Voice over IP test uses UDP ports 20000 and 20001 by default. If those ports are closed in the local test environment, the test will fail.
If the local WebSocket connection is working but resource requests or tests are failing, the issue may be proxy related. You can pass proxy configuration directly to thebcs.exe using command-line switches.
thebcs.exe
thebcs.exe -ps1.2.3.4 -po8080 -puPxUser -ppPxPw
| Switch | Description | Required |
|---|---|---|
-ps |
Proxy server address | Yes |
-po |
Proxy server port | Yes |
-pu |
Proxy username | Only if authentication is required |
-pp |
Proxy password | Only if authentication is required |
Identifying where the failure is occurring can sometimes be tricky. Below are the three most common failure points.
If the failure occurs during the initial connection phase, a WebSocket error will appear in the browser console log.
If there was an error retrieving resources, a message will appear on the test interface detailing which resource failed. This likely indicates the proxy is blocking the request.
If the test appears to run but results show as blank or red, it could be due to a required test port being closed. Contact your test provider for the required port list.