Understanding SVN's WebDAV client protocol - http

I am trying to use svnjs to implement a client SVN on the web. However, the library is not finished, and doesn't work at all. So I've decided to fix it.
For example, when I add a file and commit it I get a 409 Conflict error when uploading the new file. I have found this documentation of WebDAV usage in SVN, although it seems unfinished.
The new file is created within the resulting working collection using a PUT request.
That's all it says. It tells anything about which headers I must include, etc.
So, I have two options/questions:
Where can I find more detailed documentation of WebDAV-SVN?
There are plenty of SVN clients on Windows/Linux. Is there a tool to inspect outgoing and incoming traffic from that specific app, in order to see working examples?
Many thanks in advance!

Thanks to #bahrep 's comment, i found some documentation about how WebDAV/DeltaV works. Here are the links, if anyone is interested:
WebDAV: http://www.webdav.org/specs/rfc4918.html
DeltaV: http://www.webdav.org/specs/rfc3253.html
In my case, I discovered that when receiving a 409 Conflict, the server had to tell me the reason. From there, I have been able to dig a little more into the errors, and finally solve it.
I haven't pushed the working svnjs yet (it was for another project), but I may at one time push it in https://github.com/royalmo/svnjs . If you come from the future and you're still interested, you may go check that repository.

Related

Cannot Resolve PortableDeviceToHostImpl32 in jmtp library

I am using jmtp library and most of the code is working fine like device read , device file read and write. But when i used PortableDeviceToHostImpl32 for copy From Portable Device To Host show Cannot resolve "PortableDeviceToHostImpl32".
I have Download library from https://code.google.com/archive/p/jmtp/downloads. and successfully run the most of the things but stuck in copy From Portable Device to desktop and not known why this problem occurred.
OR what is the alternative of the issue?
This looks like a very old abandoned project, nevertheless, going through project's known issue it seems implementation for PortableDeviceToHostImpl32 was not done by the original developer and someone have provided "some sort" of solution so I would highly recommend to read through the issue and you might be able to use the code shared by commenter over there.
That being said it's never a good idea to use library that is not maintained, use alternatives such as:
usb4java
lib-javax-usb3

A custom proxy yields Incompatible magic value 1012089682

I have a custom http proxy that one worked. I have made some changes to its authentication process. And now when I try to launch an applet I get "Incompatible magic value 1012089682 in class file ...". Regular html files are transferred without any errors.
In my other web research I found this article http://arstechnica.com/civis/viewtopic.php?t=313827 discussing an ascii vs binary transfer issue.
My problem with debugging this is that the get of the jar file doesn't show up in tamper data on the browser nor in the access log of the webserver containing the proxy, nor in my proxy error log. So I am some what baffled. any help in how to get more information to solve this would be appreciated.
The technology is antique, but the company doesn't want to pay for upgrades. The proxy is an NSAPI plugin running in IWS 6 (SunOne webserver)
Thank you.
There was indeed a bug in my proxy code. I am not exactly sure what caused the symptoms described above, but fixing the code so that it didn't re-authenticate every time fixed my issue.

Could not find file 'c:\windows\Temp\xxxxxx.dll'

We have an ASP.NET web service (net 2.0/3.5) which after a couple of weeks of use gives a message
"System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.IO.FileNotFoundException: Could not find file 'c:\windows\Temp\xxxxxx.dll'"
where the filename xxxxxx.dll is a random string which changes on every occurence of the problem.
Once the error happens, even the 'iisreset' command does not fix the problem. A server re-boot fix the issue for couple of weeks. But then it comes again.
I have seen a lot of links where temporary file storage is the problem as a result of XmlSerializer dynamic compilation. Our Web Service code consumes Java web service, other than that, there is no explicit usage of XmlSerializer class.
Any ideas/advice?
Thanks in advance!
This blog post definitely solved the problem that we were facing (This will describe the problem we were facing). - http://devatheart.azurewebsites.net/2011/04/18/troubleshooting-xmlserializer-failure/
We had this piece of code
System.Diagnostics.Process.Start(RetrievedURL);
which was generating IE processes (Since IE was the default browser on the webserver) in the background on the button click and opening webpage.
Not a smart thing to have but we removed that code and it has definitely stopped the IE processes in the background.
How it is linked to XML Serialization Failure is explained in the above post.
Thanks for the research and this blog post Slobodan Stipic, a.k.a. Slobo.
Hope this solution helps others in future.
Try granting full permissions to this folder to the account you are using to run your application under.

Is it possible to have the entire contents of a class that tripped an error included in the stacktrace?

A lot of time can pass between the moment a stack trace is generated and the moment the stack trace is thoroughly investigated. During that time, a lot can happen to the file in question, sometimes obscuring the original error. The error might have been fixed in the meantime (overlapping bugs).
Is it possible to get Stacktraces that show the offending file at the time of the error?
Not elegantly, and you normally don't want the user browsing through code that's throwing unexpected exceptions anyway (open door to an attacker).
Usually, what happens in a dev shop is that the user reports an error, stack trace, and the build it occurred on. As a tester, you can grab that build from your archives (you ARE keeping an archive of all supported releases somewhere handy, RIGHT?), install, run, and try to reproduce the error, working with the user to provide additional info as necessary. I've seen very few bugs that couldn't be reproduced EVENTUALLY, even if it required running the program against a backup of the user's production database to do it.
As a developer, you can download that build's source code from your version control repository (you ARE using version control, RIGHT?), and examine the lines in the stack trace to try to discover the problem by inspection, and/or build and run it to reproduce the error. Then, you go back to the latest source version, build, and run the same steps (a UI automation system can help out here), and if you don't get the error, someone else already found and fixed it. If you still get the error, you also got an updated stack trace with lines that match the current build, allowing you to set your breakpoints and step through.
What KeithS said, plus there are ways to capture more helpful state information at the time of the Exception using the Exception.Data property. See http://blog.abodit.com/2010/03/using-exception-data-to-add-additional-information-to-an-exception/
While KeithS' answer as pretty much correct, it can be easier and more elegant than you think. If you can collect a dumpfile (instead of just a stack trace), you can use a Symbol Server and Source Server in combination with your debugger to automatically pull your correct-version code from source control.
For example: if you enable PDB output and source-server integration in MSBuild, and upload the resulting PDBs to a symbol server, Visual Studio can automatically load the correct source control from a TFS or SourceSafe repository based on the information in a minidump.

How do I debug server side code in Aptana Jaxer?

I'm trying to debug some server-side JavaScript code running in Aptana Jaxer and I'm not having any success. I haven't even been able to find any tutorials or posts about this issue. Does anyone know if it's possible and if so, what am I missing?
You can set you Jaxer.Config.DEV_MODE = true; to get some error information in your browser.
Also use the Jaxer.Log to debug.
Hope this helps a bit.
Jaxer and Aptana Studio do not yet have the ability to debug remote scripts from the client side. That is, you can't single-step into a callback and have your code window show you the first line of code in the remote method. This is on their wishlist, of course, but it'd be pretty tricky to do well.
Personally, I use logging. Jaxer has strong facilities for this, in Jaxer.Log.*.
A lot of people sneer at "printf() debugging", but the fact is, it works, and it's often less trouble to set up than an interactive debugger, especially for server applications and remote method invocation. You just sprinkle logging messages wherever you want to know the state of the system at that point, then make your app try to do the thing that's failing. Study the logs, rinse, repeat.
tail -f /opt/AptanaJaxer/logs/jaxer.log

Resources