Je souhaite partager avec vous une erreur rencontrée lors de la création et la publication d’un Service WCF Rest avec Microsft BizTalk Server 2013 en utilisant le WCF Publishing Wizard.

Symptômes :

Après la création d’un service WCF Rest avec le BizTalk Server WCF Publishing Wizard, la Receive Location associée ne démarre pas et une erreur survient : l’URL est bloquée par Windows.
Cela veut dire que l’URL spécifiée n’est pas réservée pour les utilisateurs non-administrateurs.

Description des étapes de reproduction du problème :

  • Création d’un Service WCF Rest.
  • Publication du Service WCF Rest avec le BizTalk Server WCF Publishing Wizard: création du Web Application, création de la receive location associée.
  • Création de l’application Pool et association avec le service WCF Rest.
  • Test du Service WCF Rest en démarrant la receive location correspondante.
  • La Receive Location démarre et s’arrête immédiatement.
  • L’erreur suivante est générée :

Détail :

J’ai créé un Service WCF Rest que j’ai ensuite publié avec le BizTalk Server WCF Publishing Wizard:

Je l’ai configuré correctement et créé l’application pool que j’ai ensuite associé au service WCF Rest. J’ai ensuite voulu tester le tout en démarrant la Receive Location, et c’est alors que j’ai eu l’erreur suivante :

Un Browse depuis IIS sur l’application produit aussi une erreur dans IE :

Description de l’erreur :

HTTP could not register URL http://+:80/Customer/Customer_v2.0.svc/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details). —> System.Net.HttpListenerException: Access is denied

La solution :

  1. Saisissez la commande suivante :

Si votre système d’exploitation est Windows Server 2008 R2 ou Windows Server 2012, utilisez l’outil Netsh.exe. Le code ci-après indique comment utiliser cette commande.
netsh http add urlacl url= http://+:80/Customer/Customer_v2.0.svc user=WIN-US9LSI2C33T\BTS_HostInstance.
Cette commande ajoute une réservation d’URL pour l’espace de nom d’URL spécifié pour le compte DOMAIN/utilisateur.

  1. Démarrez la Receive Location :

3.   La Receive Location démarre normalement et le service WCF se lance avec succès :