Upon publishing a project we were receiving an error in the queue with the title “Your queue job CreateWssSite failed. Please contact your administrator for assistance.”
Embedded in the long error was the following:
<?xml version="1.0" encoding="utf-16"?> <errinfo> <general> <class name="CreateWssSiteContent: Creating project site failed! Project Uid=257b0719-f5af-e611-80d0-00155db03b1b, site URL=https://availtec.sharepoint.com/sites/pwa/HDPT - 2016 ITS Upgrade, site name=HDPT - 2016 ITS Upgrade. Microsoft.SharePoint.SPException: The site template requires that the Feature {e995e28b-9ba8-4668-9933-cf5c146d7a9f} be activated in the site collection. at Microsoft.SharePoint.Utilities.SPUtility.ThrowSPExceptionWithTraceTag(UInt32 tagId, ULSCat traceCategory, String resourceId, Object[] resourceArgs) at Microsoft.SharePoint.SPWebTemplateElement.VerifyFeatures
The site creation process was expecting a specific site feature to be activated, which was not. In this case the feature was the MobileExcelWebAccess feature. When we went to Connected SharePoint Sites and tried to manually create the site we received a more specific error:
In doing more research we found this was an issue with a deprecated feature in Microsoft Project Online. In order to resolve the issue we need to run a PowerShell script. The procedure is below:
Script:
function Enable-SPOFeature
{
param ($sSiteColUrl,$sUserName,$sPassword,$sFeatureGuid)
try
{
#Adding the Client OM Assemblies
Add-Type -Path "C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions16ISAPIMicrosoft.SharePoint.Client.dll"
Add-Type -Path "C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions16ISAPIMicrosoft.SharePoint.Client.Runtime.dll"
#SPO Client Object Model Context
$spoCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteColUrl)
$spoCredentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($sUsername, $sPassword)
$spoCtx.Credentials = $spoCredentials
Write-Host "----------------------------------------------------------------------------" -foregroundcolor Green
Write-Host "Enabling the Feature with GUID $sFeatureGuid !!" -ForegroundColor Green
Write-Host "----------------------------------------------------------------------------" -foregroundcolor Green
$guiFeatureGuid = [System.Guid] $sFeatureGuid
$spoSite=$spoCtx.site
$spoSite.Features.Add($sFeatureGuid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
$spoCtx.ExecuteQuery()
$spoCtx.Dispose()
}
catch [System.Exception]
{
write-host -f red $_.Exception.ToString()
}
}
#Required Parameters
- $sSiteColUrl = "https://sitecollectionurl.com/sites/<pwaUrl>"
- $sUserName = "yourloginID"
- $sFeatureGuid= "e995e28b-9ba8-4668-9933-cf5c146d7a9f"
- $sPassword = Read-Host -Prompt "Enter your password: " -AsSecureString
- Enable-SPOFeature -sSiteColUrl $sSiteColUrl -sUserName $sUserName -sPassword $sPassword -sFeatureGuid $sFeatureGuid
Use the steps
below if you’ve not used O365 administration and Powershell
- download and install SP Online Management Shell (https://www.microsoft.com/en-us/download/confirmation.aspx?id=42038)
- Run the Management Shall as administrator
- Copy and paste the entire function (from word function through last “}” and paste into Management shell window and press enter
- Copy item 1 from required parameters. Edit the URL to match your PWA url. Paste into the Shell window and press enter
- Copy item 2 from the required parameters. If needed, revise the guid to match the one from your error message. Paste into the Shell window and press enter.
- Copy Item 3 from the required parameters. Edit the login, paste into the Shell window and press enter
- Copy item 4 from the required parameters. Paste into the Shell window, press enter. Enter the password and press enter
- Copy item 5 from the required parameters. Paste into the Shell window and press enter. This will call the function using the info entered. If it works successfully you will receive no message
XML DTD ERROR
If you receive an error related to XML DTD, it may be related to your ISP. If using verizon, you may need to temporarily change your DNS servers to 8.8.8.8 and 8.8.4.4
In our case we were using Verizon and DID receive the error. Once we changed the DNS servers the command worked successfully, as did the template!