Proyecto

General

Perfil

WebService-Field

Información

Autor Teresa Quílez
Sitio Web http://www.adapting.com
Repositorio source:WebService-Field
Código fuente http://svn-community.adapting.com:8080/svn/Community/Plugins/WebService-Field
Versión Actual v1.0
Compatible con Abox 2.7.1

Resumen

Este web service dispone de 2 métodos:
  • GetFieldValue: Obtiene el contenido de un metadato para un documento determinado.
  • GetDocumentWhitFieldValue: Obtiene la lista de documentos que para un determinado metadato tiene un valor especificado.

Notas de instalación

Descargar el código fuente del plugin y compílarlo usando Visual Studio 2010. Y realizar los siguientes pasos:
  1. Copiar la dll Adapting.Field.WebService.dll que se encuentra en la carpeta bin del proyecto y ubicarla en la carpeta /bin del sitio web donde esta Abox.
  2. Copiar el fichero Field-api.svc que se encuentre en la carpeta bin del proyecto y copiarlo en la raiz del sitio web donde esta Abox.
  3. 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.Field.WebService.Impl.LegacyFieldApi">
            <endpoint address="soap" binding="basicHttpBinding" bindingConfiguration="LargeBasic" name="SOAP" contract="Adapting.Field.WebService.WebServices.ILegacyFieldApi"/>
            <endpoint address="xmlrpc" behaviorConfiguration="xmlRpcBehavior" binding="webHttpBinding" bindingConfiguration="LargeWeb" name="XMLRPC" contract="Adapting.Field.WebService.WebServices.ILegacyFieldApi"/>
            <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" name="SOAPmex" contract="IMetadataExchange"/>
    </service>
    

Accediendo a http://Url_raiz_sitio_web/Field-api.svc podremos comprobar si nuestro web service esta bien configurado.
A continuación se muestra las clases implementadas en este web service:

        /// <summary>
        /// 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>
        /// Función que permite obtener el valor de un metadato de un documento
        /// </summary>
        /// <param name="token">token de la sesión</param>
        /// <param name="fielcode">código del metadato</param>
        ///  /// <param name="code">código del documento</param>
        /// <returns>valor del metadato</returns>
        [OperationContract()]
        XmlRpcResult<string> GetFieldValue(string token, string fielcode, string code);

        /// <summary>
        /// Función que permite obtener los documentos con un valor de un metadato.
        /// </summary>
        /// <param name="token">token de la sesión</param>
        /// <param name="fielcode">código del metadato</param>
        ///  /// <param name="value">valor del metadato</param>
        /// <returns>Documentos con ese metadato</returns>
        [OperationContract()]
        XmlRpcResult<string> GetDocumentWhitFieldValue(string token, string fielcode, string value);

        /// <summary>
        /// Finaliza la sesión. Tras esta llamada ya no es posible utilizar el valor de pass para llamar a más
        /// funciones.
        /// </summary>
        /// <param name="token">Un token válido para la sesión autenticada.</param>
        /// <returns>0 si no hay ningún error.</returns>
        [OperationContract()]
        XmlRpcResult<int> CierraSesion(string token);

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
  • XmlRpcResult<string> GetFieldValue(string token, string fielcode, string code);
  • XmlRpcResult<string> GetDocumentWhitFieldValue(string token, string fielcode, string value);
  • Cerra la sesión con CierraSesion, semejante a las empleadas en DocumentService y NetworkService de Abox

Historico

Volver al inicio
Agregar imagen desde el portapapeles (Tamaño máximo: 10 MB)