WebService Content-Api¶
Información¶
Autor David Henriquez Sitio Web http://www.adapting.com Repositorio source: Código fuente Versión Actual v1.0 Compatible con Abox 2.6.3
Resumen¶
Este web service dispone de 1 método:- UpdateMetadataValues: Actualiza un lote de metadatos.
Notas de instalación¶
Descargar el código fuente del plugin y compílarlo usando Visual Studio 2010. Y realizar los siguientes pasos:- Copiar la dll Adapting.America.ContentApi.dll que se encuentra en la carpeta bin/Debug del proyecto y ubicarla en la carpeta /bin del sitio web donde esta Abox.
- Copiar el fichero content-api.svc que se encuentre en la carpeta bin/Debug del proyecto y copiarlo en la raiz del sitio web donde esta Abox.
- Modificar el fichero web.config del sitio web añadiendo lo siguiente, dentro de la sección <services> de <system.serviceModel>:
<service behaviorConfiguration="defaultBehavior" name="Adapting.ContentApi.Impl.LegacyContentApi"> <endpoint address="soap" binding="basicHttpBinding" bindingConfiguration="LargeBasic" name="SOAP" contract="Adapting.ContentApi.WebServices.ILegacyContentApi"/> <endpoint address="xmlrpc" behaviorConfiguration="xmlRpcBehavior" binding="webHttpBinding" bindingConfiguration="LargeWeb" name="XMLRPC" contract="Adapting.ContentApi.WebServices.ILegacyContentApi"/> <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" name="SOAPmex" contract="IMetadataExchange"/> </service>
Accediendo a http://Url_raiz_sitio_web/content-api.svc podremos comprobar si nuestro web service esta bien configurado.
A continuación se muestra las clases implementadas en este web service:
/// <summary> /// La llamada a esta función es necesaria para la ejecución de todas las funciones del servicio web /// excepto la anterior (IdentServidor). Devuelve una cadena si la autorización es correcta que será /// utilizada para llamar al resto de funciones. En caso de error o que el usuario no disponga de /// acceso para realizar la operación solicitada, devuelve el valor -1. /// /// El parámetro acceso puede tomar los siguientes valores: /// <ul> /// <li>{Create} - Para solicitar acceso a dar de alta una entidad</li> /// <li>{Query} - Para solicitar acceso a realizar consultas al gestor.</li> /// <li>Código de una entidad - Si se especifica un código de entidad existente se permitirá el acceso a realizar cambios en dicha entidad.</li> /// </ul> /// </summary> /// <param name="usuario">El login del usuario.</param> /// <param name="clave">La clave del usuario.</param> /// <param name="acceso">El parámetro acceso. Si se trata de un código, se puede indicar el tipo de entidad de la forma "folder#51321". Por defecto será "document".</param> /// <param name="rememberMe">Indica si alargará la sesión actual para que no caduque en el timeout por defecto de la sesión</param> /// <returns>Un token de sesión para realizar el resto de llamadas.</returns> [OperationContract()] XmlRpcResult<string> IniciaSesion(string usuario, string clave, string acceso, bool rememberMe); /// <summary> /// Updates the metadata values. /// </summary> /// <param name="token">The token.</param> /// <param name="contentCode">The content code.</param> /// <param name="metadataValues">The metadata values.</param> /// <returns></returns> [OperationContract] XmlRpcResult<string> UpdateMetadataValues(string token, string contentCode, string metadataValues);
Guía de uso¶
Una vez configurado el web service ya lo podemos utilizar, a continuación se muestran los pasos necesarios:- Iniciar sesión con el método IniciaSesion, semejante a las empleadas en DocumentService y NetworkService de Abox.
- Con el token obtenido se puede realizar las siguientes llamadas
El método actualiza un grupo de metadatos los cuales deben ser mandados a través de un parámetro (metadataValues) tipo string cuyo contenido es un archivo xml cuya estructura es la siguiente.
<?xml version="1.0" encoding="UTF-8"?> <metadataValues> <metadataValue code="código_del_metadato1">valor_del_metadato1</metadataValue> <metadataValue code="código_del_metadato2">valor_del_metadato2</metadataValue> </metadataValues>
- XmlRpcResult<string> UpdateMetadataValues(string token, string contentCode, string metadataValues);