Running Fiddler with OnePlaceMail – Fixing “The requested site does not appear to have claims enabled or the Login Url has not been set” message
Here’s a workaround to get Fiddler working with OnePlaceMail and SharePoint 2013 where you normally get the following error message in OnePlaceMail as soon as Fiddler is enabled and capturing traffic:
“The requested site does not appear to have claims enabled or the Login Url has not been set”
I went investigating why introducing Fiddler breaks OnePlaceMail and was able to track the problem down to a single call to the native SharePoint 2013 People web service and in particular the IsClaimsMode method of the People web service. Under the default SharePoint 2013 install (Claims mode with integrated Windows NTLM or Kerberos Authentication) this web method return False without Fiddler and True with Fiddler running.
Using Fiddlers AutoResponder feature we can set up a rule to listen for calls to the IsClaimsMode method of the People web service and return a fixed response from a local file instead of getting it from the SharePoint server.
The particular Fiddler AutoResponder rule matching I used requires one of the later versions of Fiddler, here’s the version I was using: v18.104.22.168
First you need to get the following “response” file onto your computer so Fiddler can use it to respond to any calls made to the IsClaimsMode web service. Here’s the contents of the response file:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="<a href="http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap.org/soap/envelope/</a>" xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>" xmlns:xsd="<a href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a>"> <soap:Body> <IsClaimsModeResponse xmlns="<a href="http://schemas.microsoft.com/sharepoint/soap/">http://schemas.microsoft.com/sharepoint/soap/</a>"> <IsClaimsModeResult>false</IsClaimsModeResult> </IsClaimsModeResponse> </soap:Body> </soap:Envelope>
It’s pretty simple, the web service really only returns a value of true or false. The condition the problem occurs is when the real web service gives back a true when it should be false.
In my example I’ve placed the file on the following path:
Now start up Fiddler and select the AutoResponder tab and check the following options:
– Enable automatic responses
– Unmatched requests passthrough
Click Add Rule and put the following match rule in (this will identify any web service calls to the IsClaimsMode method:
Now in the action to execute line choose Find a file… from the drop down
Select the AutoResponder file we created in the earlier step
The AutoResponder tab should now look like this
Using OnePlaceMail with Fiddler running should now work without raising the error.