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