Symptoms

Create public folder task failed with error "The request failed with HTTP status 404: Not Found."

===================
Task ID         4789558
Queue name      DomainService00003883
Task name       Create public folder 'Registratie' (id=201)
Task description    Create public folder 'Registratie' (id=201)
Subscription ID     1002869
Queue status        Failed
Start not earlier than      Jan-02-2014 15:02
Method name     addPublicFolderHandler on OBJREF:Exchange:0:getPublicFolderManager:3883
Last execution output   
Provisioning request failed. Call of method "SW Managed Exchange::CreateFolder" failed.
Type: Parallels.Wpe.Utils.WpeProcedureException.

Inner exception(s):
-------------------
Exception calling "Execute" with "3" argument(s): "The request failed with HTTP status 404: Not Found."

Error position:
At C:\Program Files\Parallels\Windows Provisioning Engine\Providers\Common\ProviderUtils\ProviderUtils.psm1:53 char:26
+ [void]$Context.Execute <<<< ($Provider, $Method, $exec_data)

Type: Parallels.Wpe.PowerShell.PowerShellException.
-------------------
Exception calling "Execute" with "3" argument(s): "The request failed with HTTP status 404: Not Found."
Type: System.Management.Automation.MethodInvocationException.
-------------------
The request failed with HTTP status 404: Not Found.
Type: SWsoft.PEM.Providers.Exchange2010.Exchange2010Exception.
-------------------
The request failed with HTTP status 404: Not Found.
Type: System.Net.WebException.
===================

Cause

WPE.log provides the following error:

=====================
DEBUG   2014-01-03 04:01:44 (1136/3300): Trying to load assembly 'C:\Program Files\Parallels\Windows Provisioning Engine\Providers\Exchange2010\SWsoft.PEM.Providers.Exchange2010.dll'...
DEBUG   2014-01-03 04:01:44 (1136/3300): Assembly 'SWsoft.PEM.Providers.Exchange2010, Version=5.5.30.0, Culture=neutral, PublicKeyToken=null' resolved and loaded.
DEBUG   2014-01-03 04:01:46 (1136/3300): Creating public folder "Registratie"
DEBUG   2014-01-03 04:01:48 (1136/3300): Exchange version for server EXDAG01 is Version 14.2 (Build 30247.5)
DEBUG   2014-01-03 04:01:48 (1136/3300): Try to find Exchange CAS server with version 14.2
INFO    2014-01-03 04:01:48 (1136/3300): Loading configuration file 'C:\Program Files\Parallels\Windows Provisioning Engine\bin\ExchangeUtils.DLL.config'.
DEBUG   2014-01-03 04:01:48 (1136/3300): Configuration file 'C:\Program Files\Parallels\Windows Provisioning Engine\bin\ExchangeUtils.DLL.config' is loaded.
DEBUG   2014-01-03 04:01:48 (1136/3300): WinRM connection Uri: http://exdag01/PowerShell, Auth method: Kerberos, User: DOTS\pem_admin
DEBUG   2014-01-03 04:01:48 (1136/3300): forcedManually = True
DEBUG   2014-01-03 04:01:48 (1136/3300): Creating remote runspace...
DEBUG   2014-01-03 04:01:49 (1136/3300): Exec CmdLet Get-ClientAccessServer via console
INFO    2014-01-03 04:01:49 (1136/3300): Prepare for invoke PowerShell2 command 'Get-ClientAccessServer -DomainController AD01.dots.local'...
INFO    2014-01-03 04:01:49 (1136/3300): Invoking PowerShell2 command...
DEBUG   2014-01-03 04:01:49 (1136/3300): Exchange version for server EXCAS01 is Version 14.2 (Build 30247.5)
DEBUG   2014-01-03 04:01:49 (1136/3300): Exchange version for server EXCAS02 is Version 14.2 (Build 30247.5)
DEBUG   2014-01-03 04:01:49 (1136/3300): Get properties for root public folder \Steunpunt Informele Zorg Twente
DEBUG   2014-01-03 04:01:49 (1136/3300): WinRM connection Uri: http://exdag01/PowerShell, Auth method: Kerberos, User: DOTS\pem_admin
DEBUG   2014-01-03 04:01:49 (1136/3300): forcedManually = True
DEBUG   2014-01-03 04:01:49 (1136/3300): Creating remote runspace...
DEBUG   2014-01-03 04:01:49 (1136/3300): Exec CmdLet Get-PublicFolder via console
INFO    2014-01-03 04:01:49 (1136/3300): Prepare for invoke PowerShell2 command 'Get-PublicFolder -Identity "\Steunpunt Informele Zorg Twente" -DomainController AD01.dots.local -Server EXMBX02'...
INFO    2014-01-03 04:01:49 (1136/3300): Invoking PowerShell2 command...
DEBUG   2014-01-03 04:01:49 (1136/3300): Prepare to send EWS request to Exchange server EXCAS02 with version 14.2
INFO    2014-01-03 04:01:51 (1136/3300): New EWS Connection parameters: Url: https://excas02/EWS/Exchange.asmx, Credentials: (User: DOTS\pem_admin)
INFO    2014-01-03 04:01:51 (1136/3300): EWS api stub is disposed
DEBUG   2014-01-03 04:01:51 (1136/3300): EwsApiHolder.Dispose() done
ERROR   2014-01-03 04:01:51 (1136/3300): The underlying connection was closed: An unexpected error occurred on a send., Details: System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host

From WPE server when try connect to excas02, the DNS server(AD1.dots.local) resolved excas02 to IP 172.27.150.92

C:\Users\pem_admin>hostname
wpesrvdb01
C:\Users\pem_admin>ping excas02
Pinging excas02.dots.local [172.27.150.92] with 32 bytes of data:
Reply from 172.27.150.92: bytes=32 time<1ms TTL=128
Reply from 172.27.150.92: bytes=32 time<1ms TTL=128
Reply from 172.27.150.92: bytes=32 time<1ms TTL=128
Reply from 172.27.150.92: bytes=32 time<1ms TTL=128
=====================

The IIS https Binding is configured to 172.27.150.104 IP address on excas02.

As we can see WPE server resolve excas02 with different IP then the IIS https binding setting, as it resulted the task failure.

Resolution

Correct DNS resolution issue on WPE server and resubmit the task.

Internal content