quarta-feira, 18 de fevereiro de 2015

SharePoint 2013 - Workflow suspenso: HTTP 401: "An unhandled exception occurred during the execution of the workflow instance."




O fluxo de trabalho no SharePoint 2013 fica normalmente no estado suspenso com a mensagem de erro "An unhandled exception occurred during the execution of the workflow instance." para os usuários da FBA (usuários de declarações) devido a falta de mapeamento da propriedade "SPS-UserPrincipalName" com a propriedade "sAMAccountName".

Isso é "by design" devido a utilização do protocolo OAuth, utilizado na comunicação entre o Workflow Manager e o SharePoint, porque os tokens OAuth contém apenas o UPN por razões de segurança. 
O SharePoint utiliza essa informação (o UPN) para obter mais detalhes sobre o usuário no serviço "User Profile Service Application".

Resumindo: Os fluxos de trabalho do SharePoint 2013 requerem o serviço "User Profile Service Application" e das informações nele.

Mensagem de erro no interface::

RequestorId: <GUID>. Details: An unhandled exception occurred during the execution of the workflow instance. Exception details: System.ApplicationException: HTTP 401 {"Transfer-Encoding":["chunked"],"X-SharePointHealthScore":["0"],"SPClientServiceRequestDuration":["50"],"SPRequestGuid":["<GUID>"],"request-id":["<GUID>"],"X-FRAME-OPTIONS":["SAMEORIGIN"],"MicrosoftSharePointTeamServices":["15.0.0.4569"],"X-Content-Type-Options":["nosniff"],"X-MS-InvokeApp":["1; RequireReadOnly"],[...]


Mensagem de error nos logs do SharePoint:

Problem getting output claims identity. Exception: 'Microsoft.Office.Server.Security.UserProfileNoUserFoundException: 3001002;reason=The incoming identity is not mapped to any user profile account in SharePoint. Possible cause is that no user profiles are created in user profile database. Contact your administrator.     at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.GetSingleUserProfileFromClaimsList(UserProfileManager upManager, IEnumerable`1 identityClaims)     at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.<>


Solução:

1. Abre a propriedade "SPS-UserPrincipalName" (User Principal Name) no serviço de aplicação "User Profile Service Application".

2. Configure o mapeamento (direção import).


3. Execute a sincronização do User Profile (full).

SharePoint 2013 User Profile Sync for Claims Users

[]

Nenhum comentário:

Postar um comentário