svn list returning OPTIONS 200 only

Aug 24, 2012 at 3:07 PM

Has anyone written up a post describing the entire setup of SVNBridge on an independent server (not on the TFS Web Tier machine)? I have hit a roadblock and am unable to find a way around it. I am issuing an svn request as follows.

Request chain: Linux svn client -> SVNBridge (svnbridge.tfsdomain.com) -> TFS (tfsserver.tfsdomain.com)
Details changed to generic TFSDOMAIN, tfsuser and tfsdomain.com

SVN client command line (Linux machine):

user@rvwboardsrv:~/src$ svn --username=TFSDOMAIN\\tfsuser ls http://svnbridge.tfsdomain.com/MYPROJECT
Authentication realm: <http://svnbridge.tfsdomain.com:80> TFSDOMAIN
Password for 'TFSDOMAIN\tfsuser ':
svn: OPTIONS of 'http://svnbridge.tfsdomain.com/MYPROJECT': 200 OK (http://svnbridge.tfsdomain.com)

IIS access log:

2012-08-24 13:52:51 172.20.217.11 OPTIONS /IAM - 80 - 172.20.217.10 SVN/1.6.17+(r1128011)+neon/0.29.6 401 2 5 124
2012-08-24 13:52:57 172.20.217.11 OPTIONS /IAM - 80 TFSDOMAIN\tfsuser 172.20.217.10 SVN/1.6.17+(r1128011)+neon/0.29.6 200 0 0 2640

SVNBridge server log:

Time     : 8/24/2012 9:52:57 AM
Message : The request failed with HTTP status 404: Not Found.
User     : tfsuser
Request : OPTIONS /MYPROJECT HTTP/1.1
Exception:
   System.Net.WebException: The request failed with HTTP status 404: Not Found.
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at CodePlex.TfsLibrary.RegistrationWebSvc.Registration.GetRegistrationEntries(String toolId)
   at CodePlex.TfsLibrary.ObjectModel.RegistrationService.GetServiceInterfaceUrl(String tfsUrl, ICredentials credentials, String serviceType, String interfaceName)
   at CodePlex.TfsLibrary.RepositoryWebSvc.RepositoryWebSvcFactory.Create(String tfsUrl, ICredentials credentials)
   at CodePlex.TfsLibrary.ObjectModel.SourceControlService.<>c__DisplayClassd.<GetLatestChangeset>b__c()
   at CodePlex.TfsLibrary.ObjectModel.SourceControlService.WrapWebException[T](WrapWebExceptionDelegate`1 function)
   at SvnBridge.SourceControl.TFSSourceControlProvider.GetLatestVersion() in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\SourceControl\TFSSourceControlProvider.cs:line 218
   at SvnBridge.SourceControl.TFSSourceControlProvider.GetItems(Int32 version, String path, Recursion recursion, Boolean returnPropertyFiles) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\SourceControl\TFSSourceControlProvider.cs:line 744
   at SvnBridge.SourceControl.TFSSourceControlProvider.ItemExists(String path, Int32 version) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\SourceControl\TFSSourceControlProvider.cs:line 473
   at SvnBridge.Proxies.RemotingInvocation.Proceed() in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Proxies\RemotingInvocation.cs:line 75
   at SvnBridge.Proxies.RetryOnExceptionsInterceptor`1.Invoke(IInvocation invocation) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Proxies\RetryOnExceptionsInterceptor.cs:line 28
   at SvnBridge.Proxies.RemotingInvocation.Proceed() in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Proxies\RemotingInvocation.cs:line 60
   at SvnBridge.Proxies.TracingInterceptor.Invoke(IInvocation invocation) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Proxies\TracingInterceptor.cs:line 28
   at SvnBridge.Proxies.RemotingInvocation.Proceed() in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Proxies\RemotingInvocation.cs:line 60
   at SvnBridge.Proxies.ProxyFactory.RemotingProxy.Invoke(IMessage msg) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Proxies\ProxyFactory.cs:line 47
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at SvnBridge.SourceControl.TFSSourceControlProvider.ItemExists(String path)
   at SvnBridge.Handlers.OptionsHandler.Handle(IHttpContext context, TFSSourceControlProvider sourceControlProvider) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\RequestHandlers\OptionsHandler.cs:line 27
   at SvnBridge.Net.HttpContextDispatcher.Dispatch(IHttpContext connection) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Net\HttpContextDispatcher.cs:line 130
   at SvnBridgeServer.SvnBridgeHttpHandler.ProcessRequest(HttpContext context) in C:\dev\SVNBridgeSolution\SvnBridgeServer\SvnBridgeHttpHandler.cs:line 59
 

Stack Trace:
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at CodePlex.TfsLibrary.RegistrationWebSvc.Registration.GetRegistrationEntries(String toolId)
   at CodePlex.TfsLibrary.ObjectModel.RegistrationService.GetServiceInterfaceUrl(String tfsUrl, ICredentials credentials, String serviceType, String interfaceName)
   at CodePlex.TfsLibrary.RepositoryWebSvc.RepositoryWebSvcFactory.Create(String tfsUrl, ICredentials credentials)
   at CodePlex.TfsLibrary.ObjectModel.SourceControlService.<>c__DisplayClassd.<GetLatestChangeset>b__c()
   at CodePlex.TfsLibrary.ObjectModel.SourceControlService.WrapWebException[T](WrapWebExceptionDelegate`1 function)
   at SvnBridge.SourceControl.TFSSourceControlProvider.GetLatestVersion() in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\SourceControl\TFSSourceControlProvider.cs:line 218
   at SvnBridge.SourceControl.TFSSourceControlProvider.GetItems(Int32 version, String path, Recursion recursion, Boolean returnPropertyFiles) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\SourceControl\TFSSourceControlProvider.cs:line 744
   at SvnBridge.SourceControl.TFSSourceControlProvider.ItemExists(String path, Int32 version) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\SourceControl\TFSSourceControlProvider.cs:line 473
   at SvnBridge.Proxies.RemotingInvocation.Proceed() in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Proxies\RemotingInvocation.cs:line 75
   at SvnBridge.Proxies.RetryOnExceptionsInterceptor`1.Invoke(IInvocation invocation) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Proxies\RetryOnExceptionsInterceptor.cs:line 28
   at SvnBridge.Proxies.RemotingInvocation.Proceed() in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Proxies\RemotingInvocation.cs:line 60
   at SvnBridge.Proxies.TracingInterceptor.Invoke(IInvocation invocation) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Proxies\TracingInterceptor.cs:line 28
   at SvnBridge.Proxies.RemotingInvocation.Proceed() in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Proxies\RemotingInvocation.cs:line 60
   at SvnBridge.Proxies.ProxyFactory.RemotingProxy.Invoke(IMessage msg) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Proxies\ProxyFactory.cs:line 47
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at SvnBridge.SourceControl.TFSSourceControlProvider.ItemExists(String path)
   at SvnBridge.Handlers.OptionsHandler.Handle(IHttpContext context, TFSSourceControlProvider sourceControlProvider) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\RequestHandlers\OptionsHandler.cs:line 27
   at SvnBridge.Net.HttpContextDispatcher.Dispatch(IHttpContext connection) in C:\dev\SVNBridgeSolution\SvnBridgeLibrary\Net\HttpContextDispatcher.cs:line 130
   at SvnBridgeServer.SvnBridgeHttpHandler.ProcessRequest(HttpContext context) in C:\dev\SVNBridgeSolution\SvnBridgeServer\SvnBridgeHttpHandler.cs:line 59
 
Headers:
 
Connection: TE
Connection: Keep-Alive
Content-Length: 104
Content-Type: text/xml
Accept-Encoding: gzip
Accept-Encoding: gzip
Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXX
Host: svnbridge.tfsdomain.com
TE: trailers
User-Agent: SVN/1.6.17 (r1128011) neon/0.29.6
DAV: http://subversion.tigris.org/xmlns/dav/svn/depth
DAV: http://subversion.tigris.org/xmlns/dav/svn/mergeinfo
DAV: http://subversion.tigris.org/xmlns/dav/svn/log-revprops