SharePoint 2013: Como llamar a un servicio web desde un flujo de trabajo (II)!

Siguiendo con la serie de posts sobre como llamar a servicios web desde flujos de trabajo, en esta ocasión vamos a ver como podemos hacer esto desde un flujo creado con Visual Studio 2012:

  • Necesitaremos en primer lugar definir una variable en el diseñador de flujos de VS 2012 en la que recogeremos la respuesta de la llamada al servicio. Fijaros que en este caso estoy utilizando un tipo DynamicValue qué ya está preparado para recoger una respuesta de tipo JSON de un servicio OData qué es lo que voy a utilizar en la actividad de llamada al servicio en el flujo.
  • A continuación, en nuestro flujo tenemos que utilizar una actividad HttpSend en la que tendremos que configurar por una parte la Uri de llamada al servicio qué en este caso es la misma que en el ejemplo anterior: "http://services.odata.org/Northwind/Northwind.svc/Categories?$format=json&$filter=substringof(‘" + NombreCategoria + "’, CategoryName) eq true&$select=Description". Y por otro la propiedad Response en la que especificaremos la variable de tipo DynamicValue que hemos añadido anteriormente. Fijaros que en la llamada al servicio estamos usando otra variable NombreCategoria que estamos rellenando anteriormente en el flujo (Nota: Cuidado con la Url del servicio OData de Northwind que ha cambiado en los últimos días a http://services.odata.org/(S(qnyn1zr2ktemeucb11iogiq4))/Northwind/Northwind.svc/
  • A continuación, en nuestro flujo tendremos que extraer de la variable de tipo DynamicValue la información que nos interese. Para esto utilizaremos una actividad GetDynamicValueProperty que nos permite extraer el valor de que nos interesa de un tipo DynamicValue sin más que configurar las siguientes propiedades:
    • El origen dónde buscar la información que en este caso es la variable de tipo DynamicValue. Este tipo se configura en la propiedad “Source”.
    • El nombre de la propiedad a extraer indicado mediante el path de la misma en el DynamicValue que en este caso es d/results(0)/Desription. Este path lo especificamos en la propiedad “PropertyName”.
    • Finalmente, dónde escribimos el resultado que será en una variable que configuramos en la propiedad “Result”.
image image image

Y esto es todo respecto a como llamar a servicios desde flujos de trabajo de SharePoint 2013.