SharePoint 2013: Tip para desplegar y probar un manejador de eventos remoto en un despliegue OnPremise (I)!

Cuando estás tratando de desplegar un manejador de eventos remoto en SharePoint 2013 OnPremise, te puedes encontrar con ciertos comportamientos no esperados que por suerte tienen remedio. El primero de ellos es qué despliegues la aplicación asociada al manejador y te encuentres qué al ir a agregarla a un sitio:

  • Te encuentras conque la aplicación aparece deshabilitada, lo que impide qué se pueda agregar.
  • Si pulsas el enlace “Descubra por qué” bajo el icono de la aplicación, se muestra una página de detalle de la aplicación en la que se informa que no se puede agregar al sitio debido a qué la aplicación no es compatible con el servidor…es entonces cuando tras quedarte unos segundos perplejo ya qué el tipo de aplicación en este caso es de tipo “SharePoint Hosted”, te das cuenta qué a pesar de qué la aplicación se creó en este modo, es necesario realizar ciertas configuraciones adicionales relativas al manejador de eventos remoto para qué una vez desplegada se pueda agregar en el sitio.
  • En concreto, es necesario configurar adecuadamente los archivos “web.config” del manejador de eventos y manifiesto de la aplicación.
image image image
  • En el archivo “web.config”, es necesario comentar las propiedades que aparecen dentro de <appSettings> relativas a ClientId y ClientSecret qué para aplicaciones de tipo SharePoint Hosted no son necesarias.
   1:  <?xml version="1.0" encoding="utf-8"?>
   2:   
   3:  <!--
   4:    Para obtener más información sobre cómo configurar la aplicación de ASP.NET, visite
   5:    http://go.microsoft.com/fwlink/?LinkId=169433
   6:    -->
   7:   
   8:  <configuration>
   9:      <system.web>
  10:        <compilation debug="true" targetFramework="4.0" />
  11:      </system.web>
  12:    <appSettings>
  13:      <!--
  14:      <add key="ClientId" value="" />
  15:      <add key="ClientSecret" value="09I97+iEkkGT+NgQF9KJu7G/2712iNSmM7Moc+KQD3M=" />-->
  16:    </appSettings>
  17:    <system.serviceModel>
  18:      <bindings>
  19:        <basicHttpBinding>
  20:          <!--Usado por aplicación para SharePoint-->
  21:          <binding name="secureBinding">
  22:            <security mode="Transport" />
  23:          </binding>
  24:        </basicHttpBinding>
  25:      </bindings>
  26:      <protocolMapping>
  27:        <add binding="basicHttpBinding" scheme="https" bindingConfiguration="secureBinding" />
  28:      </protocolMapping>
  29:    </system.serviceModel>
  30:  </configuration>

  • En el manifiesto de la aplicación, en la etiqueta <AppPrincipal> comentamos la etiqueta que viene por defecto y añadimos <Internal/>.
   1:  <?xml version="1.0" encoding="utf-8" ?>
   2:  <!--Created:cb85b80c-f585-40ff-8bfc-12ff4d0e34a9-->
   3:  <App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest"
   4:       Name="SPRemoteEventReceiverApp"
   5:       ProductID="{f8f39e90-7b8b-4f23-b1ca-ae72aefe9195}"
   6:       Version="1.0.0.1"
   7:       SharePointMinVersion="15.0.0.0">
   8:    <Properties>
   9:      <Title>SP Remote Event Receiver App</Title>
  10:      <StartPage>~appWebUrl/Pages/Default.aspx?{StandardTokens}</StartPage>
  11:    </Properties>
  12:   
  13:    <AppPrincipal>
  14:      <!--<AutoDeployedWebApplication />
  15:      <Internal/>-->
  16:      <Internal/>
  17:    </AppPrincipal>
  18:  </App>

  • Si desplegamos de nuevo la aplicación, veremos que ya está disponible para agregar en nuestro sitio y que por lo tanto podemos empear a probar el manejador de eventos remoto.

image

Finalmente, si queremos desplegar la aplicación con el manejador de eventos remoto en SharePoint Online, tenemos que descomentar lo que se ha comentado en los archivos “web.config” y manifiesto de la aplicación.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

5 comentarios en “SharePoint 2013: Tip para desplegar y probar un manejador de eventos remoto en un despliegue OnPremise (I)!”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *