As part of developing the new Microsoft Exchange Server 2016 course, I needed to get Office Online Server Preview (formerly Office Web Apps Server) working with Exchange Server 2016. If you read the instructions it's pretty straight forward. There isn't much to do other than run setup and run a single command to create a farm.
Instructions are here:
The command to create the farm for Office Online Server is:
New-OfficeWebAppsFarm -InternalURL https://office.adatum.com -ExternalURL https://office.adatum.com -Certificate OOSCertificate -EditingEnabled
After creating the farm, you need to set Exchange 2016 to use it with the following command:
Set-OrganizationConfig -WacDiscoveryEndPoint
https://office.adatum.com/hosting/discovery
After running the command in Exchange 2016, you need to restart the MSExchangeOwaAppPool. Or If you're lazy, just do an IISreset.
After this, I was able to send a Word document as an attachment and view it in Outlook on the web. I was impressed with how easy to was. So, on to the next level.
I clicked the Edit and Reply option while viewing the document. The editor opened and I could modify the document. When I watched the status, the document went from Saving to Saved as I edited. Cool. This is working great!
Then I clicked Send. At this point, it said "Saving your document" and then "Attaching your document" It was a this point it failed with the following error message:
Your message couldn't be saved because the attachment is still being edited. Please close all windows where it's being edited and try again.
After receiving this message, the changes in the document were lost and I couldn't edit it again. The message was stuck as a draft that I couldn't send and I deleted it from drafts. I could still view the document, but that's not what I was going for.
On the Office Online Server in the Application log, I saw some events about OneNote being unable to connect to the Word Save service by using HTTP and connecting to 127.0.0.1.
Looking in IIS Manager, the web site for Office Online Server was bound only to port 443. This makes sense because we told it to use HTTPS for everything and gave it a certificate. Why would we want HTTP.
The Fix
The fix for this ended up being allowing HTTP connectivity to Office Online Server. It appears that the preview version doesn't work with Exchange 2016 unless you allow HTTP.
To modify the existing farm I used the following command and then restarted the server:
Set-OfficeWebAppsFarm -AllowHttp
You can also modify the original farm creation command as follows:
New-OfficeWebAppsFarm -InternalURL https://office.adatum.com
-ExternalURL https://office.adatum.com -Certificate OOSCertificate
-EditingEnabled -AllowHttp
Prerequisite Software
Some of the prerequisites for installing are a bit cranky to get going. Part of the prerequisite software is .NET Framework 3.5. In Windows Server 2012 R2, to install .NET Framework 3.5, you need to have access to the installation media. The process is described here:
You also need to install Visual C++ Redistributable for Visual Studio 2015. If your Windows Server 2012 R2 is fully updated, this won't be an issue. However, if it not, you may get an error indicating that one subcomponent in the redistributable couldn't be installed. This is due to missing prerequisites, but the error from the installer doesn't indicate this.
You need to install KB2919442 and then all parts of KB2919355 in the correct order. Read the installation instructions for KB2919355 to make sure you do it in the correct order.