Symptoms
- Unable to establish a connection between Confluence server and Sharepoint 2007
- "Basic Connection Test Failed:: Connection refused: connect" error while conducting "test connection" (under the Sharepoint Admin in Confluence)
The following appears in the atlassian-confluence.log
:
2012-01-05 14:39:13,472 ERROR [http-443-7] [extra.sharepoint.ws.WebServiceAccessorImpl] testConnection Test Connection failed! -- url: /admin/sharepoint-admin/testConnection.action | userName: admin | referer: https://wiki/admin/sharepoint-admin/updateAlias.action | action: testConnection java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at sun.net.NetworkClient.doConnect(NetworkClient.java:158) at sun.net.www.http.HttpClient.openServer(HttpClient.java:394) at sun.net.www.http.HttpClient.openServer(HttpClient.java:529) at sun.net.www.http.HttpClient.<init>(HttpClient.java:233) at sun.net.www.http.HttpClient.New(HttpClient.java:306) at sun.net.www.http.HttpClient.New(HttpClient.java:323)
Diagnosis
- Check the operating system that Confluence server is on. If it is Windows, the "Connection Refused" means Confluence couldn't connect to the Windows NTLM SOAP Proxy started by Confluence. If it is Unix or Mac, need to check on the network and firewall configuration, as Confluence is being prevented from connecting to SharePoint over the network.
Check if something else is using this port by running the following command from a command prompt:
netstat -a -b. Example output:
C:\Windows\system32>netstat -a -b Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:80 bluetongue:0 LISTENING Can not obtain ownership information TCP 0.0.0.0:135 bluetongue:0 LISTENING RpcSs [svchost.exe] TCP 0.0.0.0:389 bluetongue:0 LISTENING [dsamain.exe] TCP 0.0.0.0:445 bluetongue:0 LISTENING Can not obtain ownership information TCP 0.0.0.0:636 bluetongue:0 LISTENING [dsamain.exe] TCP 0.0.0.0:3389 bluetongue:0 LISTENING CryptSvc [svchost.exe] TCP 0.0.0.0:5357 bluetongue:0 LISTENING Can not obtain ownership information TCP 0.0.0.0:17500 bluetongue:0 LISTENING [Dropbox.exe] TCP 0.0.0.0:18798 bluetongue:0 LISTENING [Skype.exe] TCP 0.0.0.0:23284 bluetongue:0 LISTENING Can not obtain ownership information TCP 0.0.0.0:32843 bluetongue:0 LISTENING Can not obtain ownership information TCP 0.0.0.0:32844 bluetongue:0 LISTENING Can not obtain ownership information TCP 0.0.0.0:32846 bluetongue:0 LISTENING [SPUCHostService.exe] TCP 0.0.0.0:39045 bluetongue:0 LISTENING Can not obtain ownership information TCP 0.0.0.0:49152 bluetongue:0 LISTENING [wininit.exe] TCP 0.0.0.0:49153 bluetongue:0 LISTENING eventlog [svchost.exe] TCP 0.0.0.0:49154 bluetongue:0 LISTENING [lsass.exe] TCP 0.0.0.0:49155 bluetongue:0 LISTENING Schedule [svchost.exe] TCP 0.0.0.0:49157 bluetongue:0 LISTENING [dsamain.exe] TCP 0.0.0.0:49239 bluetongue:0 LISTENING [services.exe] TCP 0.0.0.0:49268 bluetongue:0 LISTENING PolicyAgent [svchost.exe] TCP 0.0.0.0:52885 bluetongue:0 LISTENING [idea.exe] TCP 127.0.0.1:4331 bluetongue:0 LISTENING
Cause
It looks like the technology we use to run the proxy (.NET's HttpListener) actually required admin privileges to run, because it depends on a sensitive HTTP access library built in to Windows. Details can be found here: https://connect.microsoft.com/VisualStudio/feedback/details/93940/httplistener-requires-admin-priveleges
Resolution
To grant the Confluence user account permission to bind to the specific IP and Port using the netsh
command. Details are here: http://stackoverflow.com/questions/443640/httplistener-start-accessdenied-error-on-vista