MS Office & WebDAV Server Engine for .NET - webdav

On this website, http://www.webdavsystem.com/server/documentation/ms_office_read_only, it states that in order to open a writable version of a MS Office doc this condition has to be met:
Your WebDAV server must be configured on site root.
Is this still true? Because I tried the SqlStorage sample and it works fine. I deployed the application on IIS 7, under <server>/TestWebDav and MS Office 2010 opened the documents in the sample just fine.

I have tested IT Hit WebDAV Server Engine in a non-root configuration. I was using MS Office 2010 on Windows 7 as a client. I have tested Basic authentication and Anonymous.
In both cases everything worked well. MS Office was able to open a file in a read-write mode, file was saved successfully back to server after editing. 'Save As' works with no problem. All file operations worked in Windows Explorer.
However using Fiddler tool I have found that 2 requests were sent to website root: one OPTIONS (my IIS server, not webdav, returned 200 OK) and one PROPFIND request (my IIS server server returned 405 Method Not Allowed).
In general I can conclude that with MS Office 2010 on Windows 7 WebDAV works in non-root configuration.

Related

How to configure Windows Server 2016 to work with Glassfish as a web server?

I need to migrate my Glassfish 4.1 from Windows Server 2008 to Windows Server 2016.
I've copied the Glassfish folder and pasted it in the new Windows Server 2016, but it is working only locally (http://localhost:80/myWebApp); if I try to access myWebApp via browser through another computer (http://172.29.13.228:80/myWebApp), it doesn't work.
After adding the Web Server feature (using the Server Manager), then I can access normally a IIS page via browser, which means the web server is working; but it still doesn't work when I try to access the Glassfish.
Does anyone knows what feature to add or what to configure in the Windows Server to get access to the Glassfish ?
I've researched and find out that I just needed to create a rule on the firewall on Windows Server and give permission on desired ports, there's no need to add any Windows web server feature.

SignalR not functioning on server

I have a windows service I made through visual studio in c#.
It uses SignalR to connect to a SQl database and receive notifications.
However, when I deploy the service onto the server itself (Windows Server 2008R2), it doesn't function. This server is the server hosting the SQL server too.
This is a SELF-HOSTED SignalR service. It is not using IIS or anything of the like to run. It is packaged as a simple Windows Service. Therefore, it doesn't have issues with typical MVC, IIS hosted apps (such as /signalr/hubs pathing, web.config etc.)
On my development computer, I use the WAN IP of the sql server to connect to its database. When I run it, it does everything it's supposed to and fires off a notification everytime server changes.
On the server itself, the service installs fine, but doesn't fire off any notifications. I left the IP as the WAN IP for developmental services and was planning to change it to localhost, etc. once it works but it does not.
For now, I left the service running on my development computer, and it's working great. I'd really prefer it to be on the server itself though, since that's the computer that will always be online.
Any hints or ideas on why this works on my development computer but not the server?
Thanks!
[Edit]
I'm using Windows 7 with Visual Studio 2013 as my development setup.
The service is running on localhost:2165 (arbitrary port). I am able to access that address via a web browser on the server itself.
You don't state what your development operating system is, but if you are using WebSockets, then you need to have a minimum of Windows 8 or Windows Server 2012.
From the documentation, the supported platforms are (emphasis mine):
Supported server IIS versions
When SignalR is hosted in IIS, the following versions are supported. Note that if a client operating system is used, such as for development (Windows 8 or Windows 7), full versions of IIS or Cassini should not be used, since there will be a limit of 10 simultaneous connections imposed, which will be reached very quickly since connections are transient, frequently re-established, and are not disposed immediately upon no longer being used. IIS Express should be used on client operating systems.
Also note that for SignalR to use WebSocket, IIS 8 or IIS 8 Express must be used, the server must be using Windows 8, Windows Server 2012, or later, and WebSocket must be enabled in IIS. For information on how to enable WebSocket in IIS, see IIS 8.0 WebSocket Protocol Support.

ASP.NET site connects to remote via SSL from Visual Studio but not IIS

My question is: why does a dev site work when the project is run in Visual Studio 2010, but not when served from IIS on the same PC?
I am trying to set up a dev copy of a client's site. On startup, the site makes a connection to a remote database server. The connection uses WCF and a SSL certificate to secure it. When I installed the site on my PC, following instructions, I installed a Cert Chain into the "Trusted Root Certification Authorities" and added registry keys and host entries to resolve connections to the remote service.
When I open the solution in Visual Studio 2010 on my PC and run it in the built-in ASP.NET dev server, it works -- my workstation connects to the remote service via SSL on a custom port (444) and the dev site queries for data successfully from the service. All of this is handled by a DLL provided with the project, and is outside my scope of work. I was briefed up front that the connection was very finicky about the SSL cert, system clock time agreement between the two machines, etc. and it took me a few tries to get it to work.
However, when I run the site in my local IIS (Windows 7, IIS 7.5) the site cannot connect to the remote service; the service won't accept the SSL connection. The startup code throws an exception when this happens, preventing the site from loading further.
Everything else seems to work fine: the only wrinkle is that VS requires a 32-bit version of the secure connection DLL while IIS on Windows 7 requires a 64-bit version. Both were provided to me and I swap them as required.
Per the comment, the answer is: check that the Cert Chain (to trust the SSL certificate used by the WCF connection) is installed to Local Machine (so that IIS sees it), not just to Current User (account used by Visual Studio).

How to use webdav java server library to retrieve / save office documents?

We need to implement client / server to open / edit Office documents from server as confluence does. We have our server side implementations (web services) to download / upload documents. Also we have our authentication services that handle user authentication. We need to implement / configure WebDAV along with these existing services. So:
When Office application requests a document from WebDav servlet, webdav connects to our existing service to get the document and would use our existing authentication service to authenticate the user. What code do we need to write to handle this?
Save as above to save a document back.
Can anyone please help me on how to get a quick start on this? Any tutorial links?
Thanks & regards,
Nadeem Ullah
I recently implemented a prototype using the milton framework to browse the repository and open office documents from our DMS and made good progress. It´s wired up using spring and a filter in our deployment descriptor - so far I´m fairly impressed by milton. It´s easy to use and integrates quite well.
From what I know, Webdav protocol is what you are looking for.
Microsoft Office can open files from a WebDAV server and save them back to the server without the need to download them to local file system. To achieve this the following conditions must be met:
Your WebDAV server must support Class 2. Microsoft Office locks documents when creating and opening files for editing. If Microsoft Office is unable to lock the document it will be opened as read-only.
Your WebDAV server must be configured on the site root in case of MS Office 2007 or earlier. Microsoft Office 2007 and earlier may submit OPTIONS and PROPFIND requests to the site root (http://server/) and requires the server to respond properly. If your WebDAV server is non-root Microsoft Office 2007 and earlier may open documents as read-only. There is no this issue with MS Office 2010 and later versions.
https://www.webdavsystem.com/server/documentation/ms_office_read_only/
Please also look at Apache JackRabit which is a WebDav server. And search WebDav from github for other implementaions.

Cannot connect ASP.NET development server (VS2010) via IP address

Visual Studio 2010 / ASP.NET project / ASP.NET Development server
I can run and debug my VS2010 ASP.NET project from my development computer (where VS2010 runs). URL: http://localhost:port/MyApp.htm works fine.
Since I want to test the application from an IPad as well, I need to call the application with its IP address such as http://192.168.0.132:port/MyApp.htm
To my surprise this does not work, neither from the IPad, nor from the dev. computer itself. It is not a matter of connectivity, the address is correct / ping is possible.
(Note that I have no IIS installed on this machine, actually the ASP.NET application is plain HTML+JS, I use VS2010 just for debugging.)
Any workaround for this?
The Visual Studio Development Server will only serve pages to the local machine:
From Web Servers in Visual Web Developer:
If you cannot or do not want to use IIS as your Web server, you can
still test your ASP.NET pages by using the ASP.NET Development Server.
The ASP.NET Development Server, which is included with Visual Web
Developer, is a Web server that runs locally on Windows operating
systems, including Windows XP Home Edition. It is specifically built
to serve, or run, ASP.NET Web pages under the local host scenario
(browsing from the same computer as the Web server). In other words,
the ASP.NET Development Server will serve pages to browser requests on
the local computer. It will not serve pages to another computer.
Additionally, it will not serve files that are outside of the
application scope. The ASP.NET Development Server provides an
efficient way to test pages locally before you publish the pages to a
production server running IIS.
The ASP.NET Development Server only
accepts authenticated requests on the local computer. This requires
that the server can support NTLM or Basic authentication.
If you wish to test pages remotely you will need to use IIS or IIS Express.
I ran into this same problem and found a great solution. You can use SPI Port Forwarder (or a similar tool) to forward outside requests to the VS development web server. It works great and you can turn it on and off as needed.
Check out the info here:
Accessing the Visual Studio ASP.NET Development Server from iPhone & iPad
http://opensource.oxyva.nl/simple-development-proxy seems to work around Visual Studio Express 2012 for Web not allowing connections from other devices like iPhone, iPad etc. which result in "HTTP Error 400: Bad Request - Invalid Hostname"
There seems to be another solution as described in: visual web developer Web service on debug HTTP/1.1 400 Bad Request
You need to set up a WebSite in IIS, and deploy solution to virtual directory for the application to be accessible through an IP address outside of localhost(127.0.0.1)

Resources