SERVICIO WCF SOAP EN SHAREPOINT 2013

/, Sharepoint/SERVICIO WCF SOAP EN SHAREPOINT 2013

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¨: 

<TokenReplacementFileExtensions>svc</TokenReplacementFileExtensions>

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. 

¿Te gusta lo que lees? Suscríbete a nuestras newsletters

2018-08-07T19:44:56+00:0012 diciembre, 2016|Categories: formacion, Sharepoint|0 Comments