Erreur « Une réponse qui n’a pas été renvoyée par le Gestionnaire de workflow » dans SharePoint Server 2016

Symptômes

Lorsque vous configurez SharePoint Server 2016 sur Windows Server 2016 avec un seul serveur WFM, puis installez et configurez un gestionnaire de flux de travail avec SharePoint, en l’enregistrant pour utiliser « SP-WorkflowService », les flux de travail utilisant SharePoint Designer échouent avec l’erreur suivante :

Microsoft.Workflow.Client.AuthenticationException: A response was returned that did not come from the Workflow Manager. Status code = 401:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>
<style type="text/css">
<!--
body{marg

Cause

L’authentification « anonyme » a été désactivée sur le serveur WFM de votre batterie de serveurs de dév.

Résolution

La ré-authentification « anonyme » doit résoudre le problème.

Plus d’informations

Comment nous avons réduit le problème

 
Client (SharePoint) Request
=======================

PUT http://<WFMENDPOINT>/SharePoint/default/23fc1ff1-0a17-41dd-862a-6d7b13be1435  HTTP/1.1
Host: <WFMENDPOINT>
<ScopeInfo xmlns="http://schemas.microsoft.com/workflow/2012/xaml/activities" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><DefaultWorkflowConfiguration><appSettings><AppSetting><Key>Microsoft.SharePoint.ActivationProperties.SiteId</Key><Value>23fc1ff1-0a17-41dd-862a-6d7b13be1435</Value></AppSetting><AppSetting><Key>Microsoft.SharePoint.ActivationProperties.Host</Key><Value><SITE URL></Value></AppSetting><AppSetting><Key>Microsoft.SharePoint.ActivationProperties.HostUri</Key><Value>http://<SITE URL> </Value></AppSetting></appSettings></DefaultWorkflowConfiguration><Description>23fc1ff1-0a17-41dd-862a-6d7b13be1435</Description></ScopeInfo>


Server (WFM) Response
====================

HTTP/1.1 401 Unauthorized
Content-Type: text/html
Server: Microsoft-IIS/10.0
<h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2>
  <h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>

(Notez « HTTP/1.1 401 Non autorisé » sous la réponse du serveur.)

  • Dans une condition de fonctionnement, nous mettons à jour les informations d’étendue en tant que telles.
Client (SharePoint) Request
======================

PUT http://wfm.contoso.com:12291/SharePoint/default/09d8c9b6-1994-4dad-bf46-cf5de701c0c8  HTTP/1.1
Host: wfm.contoso.com:12291
<ScopeInfo xmlns="http://schemas.microsoft.com/workflow/2012/xaml/activities" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><DefaultWorkflowConfiguration><appSettings><AppSetting><Key>Microsoft.SharePoint.ActivationProperties.SiteId</Key><Value>09d8c9b6-1994-4dad-bf46-cf5de701c0c8</Value></AppSetting><AppSetting><Key>Microsoft.SharePoint.ActivationProperties.Host</Key><Value>sp</Value></AppSetting><AppSetting><Key>Microsoft.SharePoint.ActivationProperties.HostUri</Key><Value>http://sp</Value></AppSetting></appSettings></DefaultWorkflowConfiguration><Description>09d8c9b6-1994-4dad-bf46-cf5de701c0c8</Description></ScopeInfo>

Server (WFM) Response
====================

HTTP/1.1 201 Created
Location: http://wfm.contoso.com:12291/SharePoint/default/09d8c9b6-1994-4dad-bf46-cf5de701c0c8
Server: Microsoft-IIS/10.0

(Note « HTTP/1.1 201 Created » under the Server Response.)

  • Nous avons capturé des suivis ETL pour lire les activités internes du gestionnaire de flux de travail lors de la publication du flux de travail.
  • L’échec de la condition a révélé que la demande n’a même pas atteint WFM en interne.
  • Dans une condition de fonctionnement, nous mettons à jour les informations d’étendue en tant que telles.
WFM Server Internal Activities 
=========================

The gateway received an HTTP request. Method: PUT, Uri: http://wfm.contoso.com:12291/SharePoint/default/09d8c9b6-1994-4dad-bf46-cf5de701c0c8, Scope path: 
Gateway received request details: Method: PUT, RequestUri: 'http://wfm.contoso.com:12291/SharePoint/default/09d8c9b6-1994-4dad-bf46-cf5de701c0c8', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
 Accept: application/xml
 Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImRWaWQ1MFpHYzVuLWh1TXdEc1V3bVdCQ2hZSSJ9.eyJhdWQiOiIwMDAwMDAwNS0wMDAwLTAwMDAtYzAwMC0wMDAwMDAwMDAwMDAvd2ZtLmNvbnRvc28uY29tOjEyMjkxQGVhZWQ2MzJkLTEyZjMtNDNlNS1iYmU5LTkwMDhjOGU3YWIxYyIsImlzcyI6IjAwMDAwMDAzLTAwMDAtMGZmMS1jZTAwLTAwMDAwMDAwMDAwMEBlYWVkNjMyZC0xMmYzLTQzZTUtYmJlOS05MDA4YzhlN2FiMWMiLCJuYmYiOiIxNTY0MDMyNTMwIiwiZXhwIjoiMTU2NDE2MjEzMCIsIm5hbWVpZCI6IjAwMDAwMDAzLTAwMDAtMGZmMS1jZTAwLTAwMDAwMDAwMDAwMEBlYWVkNjMyZC0xMmYzLTQzZTUtYmJlOS05MDA4YzhlN2FiMWMifQ.gIvnI1f9EpgCaZMZ7lp-ryq9u_xJ5eVCPv-EGzqBjU_99anCgw64HsU8wCmtvYarj8Qt6XzjrNbY1eXIXLcSTyLsiww26w-OJIxYbKZgX0wvTehyzgY3k_LdkVOae--RkAZ5jRTSZ2hr_nTMbTNj0kJ8ZmLYkSEqhuuZHtqXLcaOSXXQ0xPosBElr_U513P7n8meFfty624l_WcB99wtCPAmA8_kPNhZp6vrcxVuj6vkqz7lcCzTZY0d2qcDGuW1d5DsZwcNKQ7SSdVC1tbK7VYNDi5qdHSBaaZrHWn70FwMdt_nCRLDpEbd8K2tn6w6Ssnbtdb697TqeIRKsyZ_Ew
 Expect: 100-continue
 Host: wfm.contoso.com:12291
 User-Agent: Microsoft-WF/1.0.1
 E2EActivity: nvOccj36scBdKMCu3bsJLQ==
 client-request-id: 729cf39e-fa3d-c0b1-5d28-c0aeddbb092d
 Content-Length: 636
 Content-Type: application/xml
}
Start retrieving scope security settings from database.
Creating Scope /SharePoint/default/09d8c9b6-1994-4dad-bf46-cf5de701c0c8
Successfully created scope /SharePoint/default/09d8c9b6-1994-4dad-bf46-cf5de701c0c8
Workflow Manager frontend completed HTTP request successfully and is <mark>returning status code 201 (Created).
Gateway sending HTTP response: StatusCode: 201, ReasonPhrase: 'Created', Version: 1.1, Content: <null>, Headers:
{
 Location: http://wfm.contoso.com:12291/SharePoint/default/09d8c9b6-1994-4dad-bf46-cf5de701c0c8
 Server: Microsoft-WF/1.0.1
}

(Remarque : « Étendue créée avec succès /SharePoint/par défaut/09d8c9b6-1994-4dad-bf46-cf5de701c0c8 » et références « code d’état de renvoi 201 (créé) » ci-dessus.)

Sortie

  • Cela a montré que la demande était en cours d’accès au serveur WFM, mais pas plus loin que SB ou serveur principal. Par conséquent, le composant en question était IIS.
  • Nous avons capturé le journal IIS sur WFM en interne lors de la publication du flux de travail. Il a révélé qu’IIS possède en fait des événements lors de la publication.
2019-07-25 05:28:49 192.168.2.104 PUT /$Scope - 12291 - 192.168.2.102 Microsoft-WF/1.0.1 - 401 0 0 1477
2019-07-25 05:28:52 192.168.2.104 PUT /$Scope - 12291 - 192.168.2.102 Microsoft-WF/1.0.1 - 201 0 0 562
2019-07-25 05:28:52 192.168.2.104 PUT /$Scope - 12291 - 192.168.2.102 Microsoft-WF/1.0.1 - 201 0 0 78
2019-07-25 05:28:53 192.168.2.104 PUT /$Activities/WorkflowXaml_1a80aab2_6f61_4cc9_a8ca_47b599ceb796 $overwriteXClass=true 12291 - 192.168.2.102 Microsoft-WF/1.0.1 - 201 0 0 1558
2019-07-25 05:29:05 192.168.2.104 PUT /$Workflows/607e3d78-07fd-4b3b-99c1-2197768e7db1 - 12291 - 192.168.2.102 Microsoft-WF/1.0.1 - 201 0 0 6741
2019-07-25 05:29:06 192.168.2.104 GET /$Scope - 12291 - 192.168.2.102 Microsoft-WF/1.0.1 - 200 0 0 15
  • Sur la base de l’erreur « Vous n’êtes pas autorisé à afficher ce répertoire ou cette page à l’aide des informations d’identification que vous avez fournies », nous avons explorer les autorisations du serveur virtuel IIS « Site de gestion de flux de travail » sur WFM dans notre atelier. « Anonyme » et « Authentification Windows » sont activés.
  • La désactivation de l’authentification « anonyme » a instantanément reproduit l’erreur.
  • Si vous utilisez l’authentification basée sur les revendications (revendications Windows, authentification par formulaires ou fournisseur d’identité approuvé), l’application est configurée pour l’authentification par formulaires dans le web.config, tout en garantissant que l’authentification anonyme et l’authentification par formulaires sont activées dans la configuration IIS.
  • Par défaut, nous utilisons l’authentification basée sur les revendications Windows à partir de SP 2013 et la communication WFM > SP se fait par-dessus Oauth.
  • Nous avons identifié que l’authentification « anonyme » était désactivée sur le serveur WFM de votre batterie de serveurs de dév. Son activation a résolu le problème.
  • Nous avons pu publier et exécuter les flux de travail avec succès.

Encore besoin d’aide ? Go to SharePoint Community.