WCI Collaboration Server Not Working in Office 2010

I’ve blogged a LOT about Collaboration Server, and have spent countless hours fighting with the WebEdit features – it’s the “bane of my existence“, a term I used because I thought “crime against humanity” was a little too strong.  More often than not I’ve thrown up my hands and said “sorry, fella, nothing to see here – it just plain don’t work”.  The problem is there are a near-infinite number of combinations, between the different versions of:

  • Plumtree / ALUI / WebCenter Interaction Portal (6.1, 6.5, 10.3.0,, 10.3/Neo)
  • Collaboration Server (4.2, 4.5, 10.3.0,, 10.3/Neo)
  • Windows (XP, Vista, 7), plus various patches
  • Office (2003, 2007, 2010), plus various patches
  • Application Servers (IIS, WebLogic, Tomcat)
  • Web Browsers (IE7 and IE8 – good luck if you have IE9, FireFox or Chrome)

Officially, Oracle only supports the following for WebEdit with version – the latest publicly available version: MS Office 2003 on Windows XP SP2; MS Office 2007 on Windows XP SP2. No Office 2010, no Windows 7. Even Office 2007 is patchy at best.

I’d heard enough complaints, and decided to dig in and try to figure out why one very specific combination doesn’t work: Office 2010 running on Windows 7 against an IIS 6 .NET portal running WebCenter Collaboration 10.3.0.  Here’s what the out-of-the-box install shows when trying to save a file opened through WebDAV:

Your changes were saved but could not be uploaded because of an error.  You may be able to upload this file using the server Web page.

Having not accepted that it was impossible to get WebDAV working in Office 2010, I’ve spent countless hours reverse-engineering Office’s WebDAV protocol, WebCenter Interaction gateway calls, Apache Tomcat protocol handling, and everything in between.

Based on my research, this hack may be helpful for other versions of Office, Windows, and Collab, but I can’t even guarantee the hack I’ll discuss in the next couple of days is perfect, even with these very specific versions.  Proceed at your own risk, and drop me a line if you’d like to discuss your specific situation.

I’ll spare you the gory details of the steps that went into figuring all this out, but it comes down to this: different versions of Office and Windows implement WebDAV in quite different ways, and Collaboration Server (running on Tomcat 6.0.14 – far from the most current) does its best to try and keep up.  It’s important to note that Collab is using Tomcat as its embedded application server, because doing a network trace during a WebEdit Save operation, we see this request coming from Office 2010, which is not the same as Office 2007:

LOCK /collab/WebEdit/-2609009442103076033/22/123.docx HTTP/1.1
Cookie: JSESSIONID=nnn; PTCOLLABDOCSession=nnn
USER-AGENT: Microsoft Office Core Storage Infrastructure/1.0
CSP-Aggregation-Mode: Single
CSP-Gateway-Specific-Config: PT-User-Name=Guest,PT-User-ID=2,snip
CSP-Gateway-Type: Plumtree
CSP-User-Info: FullName=Guest
CSP-Protocol-Version: 1.3
TIMEOUT: Second-3600
CSP-Session-Token: 2|1299956840 |ESd+nZYoShP4roeR0h4K4pWXC08=
Accept-Language: en-us
IF: (<>)
CSP-Can-Set: None
Accept-Encoding: gzip
Authorization: Basic Y29sbGFiYXBwdXNlcjwbHVtdHJlZQ==

Most importantly, the response to this request is:

HTTP/1.1 400 Bad Request
Server: Apache-Coyote/1.1
DAV: 1,2
Content-Length: 0
Date: Sat, 12 Mar 2011 19:02:20 GMT
Connection: close

What does THAT mean? Well, it turns out that the Collaboration WebEdit feature doesn’t work in Office 2010 because the Apache Tomcat embedded app server denies this HTTP request before Collab even sees it. Turns out, Tomcat is denying that request because there isn’t a Content-Length header. So, Office 2010 is doing something “wrong” because it doesn’t include that header according to the HTTP RFC, but Tomcat is also doing something wrong by rejecting the request without letting the application itself handle it. And the Collaboration Server code isn’t even getting called – so we can’t really blame Collab here!

The hack? Coming soon…

Tags: , , , , ,

Leave a Reply