I had a very basic Skype for Business build recently. All operating systems were running Windows Server 2012 R2. It was comprised of:
- A single Standard Edition Skype for Business Front End
- A single Edge Server
- A single Reverse Proxy (IIS with ARR)
- No Dialin
- No Enterprise Voice
- No Persistent Chat
- No Office Web Apps
As you can see, this was a VERY straightforward build.
Once the build was completed, however, and testing began, we ran into an issue in which a user tried to join a meeting via an email invite, and they clicked on the option to Join Using Skype for Business Web App instead, but ran into an error upon doing so.
The error stated: "Server Error in '/' Application. The resource cannot be found. Description: HTTP 404. The resource you are looking for..."
Needless to say, I found this odd, especially on a fresh build. Oh well, time to dig in.
Alright, so as with any error, you should start by actually reading the error, and trying to understand what it might be telling you. In our case, we are specifically being told that there is no resource at: '/lwa/WebPages/LwaClient.aspx', which is the client page for those using the Skype for Business Web App as their meeting client.
It can be very tempting to skip over the obvious implications of an error and jump straight into the complexities, but with how often I have found the "simple" or "obvious" things to be the culprit, I think it is always best to start with them. So, before we get started with verifying DNS, testing our networking config, and pouring through Reverse Proxy configs, we need to go to our Front End, open up the IIS Manager, and verify that the LWA directory is present.
- Start -> Administrative Tools -> Internet Information Services (IIS) Manager
- Within the IIS Manager, expand the server name node, then expand Sites, and finally expand the site named Skype for Business Server External Web Site. This is the site we should be hitting when joining a meeting from outside the environment.
- Verify the 'lwa' directory is present, and if is, verify that the 'WebPages' directory is present beneath it, and finally that the LwaClient.aspx page is listed in the 'WebPages' directory while using "Content View" in the middle pane.
In my case, the 'lwa' directory was completely absent; simply not there! This was a fresh install, mind you, without errors. So, now I know why we are seeing that error - the directory that is being attempted does not exist.
What next? Now we need to go to the installed Programs and Features and verify that the Skype for Business Server 2015, Skype for Business Web Application shows as installed.
- Start -> Control Panel -> Programs -> Uninstall a program.
- Scroll down and verify the Skype for Business Server 2015, Skype for Business Web Application is installed.
Ok, so, in my case, it is installed. That is odd. It shows as installed, BUT, in my case, the actual directory is not present in the IIS web site. This sounds to be a bit like something went wrong during the install, and this particular component did not fully install. SO, what do we do?
Ok, in order to reinstall this component all over again, without messing with the rest of our config, we will perform the below steps and hope that it works:
- Navigate to your Skype for Business Server 2015 installation media, and then to this directory within it: Setup -> amd64 -> Setup.
- Run the EnterpriseWebApp.msi.
- On the Welcome screen, click Next:
- As you can see, our only option now is to Remove the Web App, since it detects that it is already installed.
- Once the removal is finished, we can close this wizard. Next we will navigate to C:\Program Files\Skype for Business Server 2015\Deployment\, and run the Bootstrapper.exe. This will go through and detect that we should have the Web App, but that it is not installed, and it will re-install it from scratch. In my case, it completed without errors.
Now, let's go back and look in IIS Manager for the 'lwa' directory to see if it is present:
BOOM!!! There it was! As you can see, I drilled down into the WebPages directory and verified the presence of the LwaClient.aspx file. The last thing left to do was to try browsing: https://skypeweb.domain.com/lwa/WebPages/LwaClient.aspx. Lo and behold, no more error! Of course, your experience at this point could be different, if there are any other configuration problems at the previously mentioned DNS, networking , or Reverse Proxy levels. And, this experience should not be the standard; that directory is not normally missing. Something was just a bit funky this time.
Well, in case any of you run into the same thing in the future, I hope these steps help you get to the bottom of it!
Stay techy, my friends!