SERVICIO WCF SOAP EN SHAREPOINT 2013

¡Hola developers! 

Hoy vamos a compartir con vosotros un recurso que os puede venir de perlas en el manejo de Sharepoint 2013:

¿Cómo podemos crear y añadir un Servicio WCF SOAP a una Granja de Sharepoint con Visual Studio?

 

¡Vamos a ello!

  • En primer lugar, crearemos un proyecto vacío de Sharepoint 2013.
  • Posteriormente, seleccionaremos la opción de implementarlo como solución de la Granja. En este caso, lo llamaremos ¨proyecto ServicioWCF¨:

 

sharepoint.png

 

sharepoint2-1.png

 

  • Una vez tenemos creado el proyecto, lo primero que debemos hacer es agregar las referencias necesarias para éste:
    • Microsoft.Sharepoint.Client.ServerRuntime
    • System.ServiceModel

sharepoint3.png

 

 

  • A continuación, agregamos la carpeta asignada de Sharepoint ISAPI. En esta carpeta deberian estar todos los servicios WCF implementados:

 

sharepoint4.png

 

sharepoint5.png

La carpeta ISAPI que acabamos de crear tiene impacto en la URL del servicio que estamos creando.
Concretamente, está mapeada como ¨_vti_bin¨en el IIS.

 

 

  • A continuación, creamos el fichero del servicio. Para ello hay que agregar un archivo de tipo texto a la carpeta ISAPI recién añadida y cambiar su extensión a ¨svc¨.

sharepoint6.png

  • A continuación, crearemos la interfaz del servicio. Para ello, en el menú de Nuevo Elemento, seleccionamos ¨Interface¨y lo renombramos como ¨IServicioBlog.cs¨.

 

  • También crearemos el fichero en el que irá el código del servicio ¨ServicioBlog.svc.cs¨que implementará la interfaz que hemos añadido.

sharepoint7-1.png

 

Tras crear estos ficheros, tendremos la siguiente estructura:

sharepoint8-1.png

 

    • Una vez hecho esto, necesitamos conectar el ¨svc¨con los ficheros de código que hemos creado. Para ello, en el fichero ¨ServiceBlog.svc¨creado anteriormente, se introduce el siguiente XML:
<%@ ServiceHost Language="C#" Debug="true"
    Service="ServicioWCF.ISAPI.ServicioBlog, $SharePoint.Project.AssemblyFullName$"  
    CodeBehind=" ServicioBlog.svc.cs"
    
Factory="Microsoft.SharePoint.Client.Services.MultipleBaseAddressBasicHttpBindingServiceHostFactory, 
    Microsoft.SharePoint.Client.ServerRuntime, 
    Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

 

Para poder implementar el fichero ¨svc¨, es necesario realizar una pequeña modificación en el proyecto. Para ello, se guarda el proyecto y se descarga en el explorador de soluciones:

sharepoint9.png

 

  • Una vez descargado, se edita el proyecto y se añade la siguiente línea en la última fila del primer ¨PropertyGroup¨:

svc

sharepoint10.png

 

sharepoint11.png

 

  • Una vez hecho esto, se guarda y se recarga el proyecto:

sharepoint12.png

 

Con esto, ya tenemos creada la estructura de nuestro servicio WCF. Lo único que necesitamos es el código.

  • Modificamos el fichero ¨IServicioBlog.svc¨definiendo el contrato de la operación. En este caso, haremos un servicio que devuelva un ¨String¨:

ç

using System.ServiceModel;

namespace ServicioWCF.ISAPI
{
    [ServiceContract]
    public interface IServicioBlog
    {
        [OperationContract]
        string MiServicioBlog();
    }
}
  • A continuación, implementamos la interface que acabamos de declarar:

 

using Microsoft.SharePoint.Client.Services;
using System.ServiceModel.Activation;

namespace ServicioWCF.ISAPI
{
    [BasicHttpBindingServiceMetadataExchangeEndpoint]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
    public class ServicioBlog : IServicioBlog
    {
        public string MiServicioBlog()
        {
            return "Soy un servicio WCF";
        }
    }
}
  • Una vez hecho esto, simplemente implementamos el proyecto.

Para comprobar si es correcto, se accede usando la siguiente URL:

http://{SiteUrl}/_vti_bin/ServicioBlog.svc

sharepoint13.png

 

El ¨wsdl¨está en:

http://{SiteUrl}/_vti_bin/ServicioBlog.svc/mex?wsdl

 

Y tendrá el siguiente formato:

sharepoint14.png

 

Podremos comprobarlo con un cliente SOAP haciendo la llamada: 

sharepoint15.png

 

Y obteniendo el resultado: 

sharepoint16.png

 

 

¡Esto es todo! 

¡Permaneced atentos a nuestros próximos recursos de Sharepoint!

Escrito por Ibai Arrizabalaga, Senior Developer de Sharepoint en Bravent. 

    Resumen de privacidad

    Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

    Cookies de terceros

    Esta web utiliza cookies analíticas para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

    Dejar esta cookie activa nos permite mejorar nuestra web.