Herramientas de usuario

Herramientas del sitio


usu:smartweb:introduccion_a_smartwebdoc

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
usu:smartweb:introduccion_a_smartwebdoc [2018/02/15 10:11] – [JSON tipo Select] stefanusu:smartweb:introduccion_a_smartwebdoc [2020/08/05 16:44] (actual) stefan
Línea 8: Línea 8:
  
 SmartWebDoc se puede instalar tanto en un servidor **Windows** como en uno con el sistema operativo **Linux**. Por lo tanto es posible instalarlo en el mismo servidor de la base de datos, aunque esto no es recomendable por motivos de seguridad. SmartWebDoc se puede instalar tanto en un servidor **Windows** como en uno con el sistema operativo **Linux**. Por lo tanto es posible instalarlo en el mismo servidor de la base de datos, aunque esto no es recomendable por motivos de seguridad.
 +
 +Para Windows se puede usar el programa de instalación //smartwebdocsetup.exe//, que solamente pide el número del puerto (por defecto 8000) y la carpeta de instalación.\\
 +Una vez terminada la instalación hay que revisar el fichero de configuración, que se encuentra en la carpeta de instalación. Si el puerto de comunicación es 8000, entonces la configuración la podemos cambiar en ''C:\Program Files (x86)\SmartWebDoc\smartwebdoc_8000.xml''.
 +
 +<code xml>
 +<?xml version="1.0"?>
 +<smartwebdoc>
 +  <debug>2</debug>
 +  <servidor>
 +    <ip>0.0.0.0</ip>
 +    <puerto>8000</puerto>
 +    <mensajeservidor>SmartWebDoc server</mensajeservidor>
 +    <rawpermitido>S</rawpermitido>
 +    <ssl>N</ssl>
 +    <protocolo>http</protocolo>
 +    <ficherocertca>cacert.pem</ficherocertca>
 +    <ficherocertificado>smartwebdoc.pem</ficherocertificado>
 +    <ficheroclaveprivada>smartwebdoc.key</ficheroclaveprivada>
 +    <clavecontrasena>...</clavecontrasena>
 +    <verificarcert>S</verificarcert>
 +  </servidor>
 +  <bd>
 +    <nombre>192.168.x.x:/carpeta/de/basededatos.gdb</nombre>
 +    <usuario>SYSDBA</usuario>
 +    <grupo></grupo>
 +    <clave>...</clave>
 +    <maxcon>5</maxcon>
 +    <msespera>5000</msespera>
 +    <msdesconectar>10000</msdesconectar>
 +    <msmaxejec>30000</msmaxejec>
 +    <procpermitido>XGOM_WEB</procpermitido>
 +  </bd>
 +</smartwebdoc>
 +</code>
 +
 +Lo principal es cambiar el acceso a la base de datos y el usuario y la contraseña de la base de datos. **Luego hay que reiniciar el servicio //Servicio SmartWebDoc puerto 8000// desde el panel de control de todos los servicios, para que el programa lea de nuevo la configuración.**
  
 ===== Comunicación ===== ===== Comunicación =====
Línea 14: Línea 50:
 Se accede al servicio con el método //POST//, pasando los datos en formato //JSON//. Se accede al servicio con el método //POST//, pasando los datos en formato //JSON//.
     Method: POST     Method: POST
-    URL: /services/IDocService/?format=json+    URL: /smartwebdoc/select/?format=json
     Query: format=json     Query: format=json
-    HeaderLine: POST /services/IDocService/?format=json HTTP/1.1+    HeaderLine: POST /smartwebdoc/select/?format=json HTTP/1.1
     Content:     Content:
   { "version" : "1.1", "method" : "Select", "params" :   { "version" : "1.1", "method" : "Select", "params" :
Línea 27: Línea 63:
   [["16-00001", "OB000001", "Obra XYZ", "2016-03-31 00:00:00","99.99000", "ESP", "2016-09-27 00:00:00"],   [["16-00001", "OB000001", "Obra XYZ", "2016-03-31 00:00:00","99.99000", "ESP", "2016-09-27 00:00:00"],
    ["16-00002", "OB000002", "", "2016-03-31 00:00:00","1500.12000", "ESP", "2016-09-27 00:00:00"]] }    ["16-00002", "OB000002", "", "2016-03-31 00:00:00","1500.12000", "ESP", "2016-09-27 00:00:00"]] }
 +
 +Existen dos URLs para acceder al servicio web, que son intercambiables:
 +  - http://127.0.0.1:8000/smartwebdoc/select/?format=json
 +  - http://127.0.0.1:8000/services/ismartwebdoc/?format=json
 +**Se recomienda utilizar siempres la segunda URL, es posible que la primera en un futuro deja de funcionar.**
 +
 +El query ''format=json'' es opcional y dice al servicio que se quiere recibir el resultado en el formato JSON, que de momento es el único formato soportado por SmartWebDoc.
 +
 +==== HTTPS en un entorno de pruebas ====
 +Los certificados usados por SmartWebDoc funcionando con https suelen ser //self-signed// y por lo tanto hay problemas de confianza al acceder el servicio desde los exploradores de web habituales.
 +
 +A continuación se explica como configurar el explorador //Firefox// para que funcione bien con SmartWebDoc.
 +
 +En primer lugar tenemos que importar el certificado de la autoridad de certificación de raíz. Este certificado nos lo puede facilitar Smart y suele llamarse //cacert.pem//.
 +
 +Vamos a la configuración de Firefox como se muestra a continuación:
 +{{  :usu:smartweb:pegado:20180522-093611.png?600  |Opciones certificados Firefox}}
 +
 +Dentro del //Administrador de certificados// vamos a la pestaña //Autoridades// y damos en el botón ''Importar'' para importar el certificado //cacert.pem//.
 +
 +Luego vamos a la pestaña //Servidores// y damos en ''Añadir excepción''. Ponemos la dirección del servidor donde está instalado SmartWebDoc y damos en ''Obtener certificado'':
 +{{  :usu:smartweb:pegado:20180522-094802.png?600  |Obtener certificado Firefox}}
 +
 +Cuando se muestre el certificado podemos dar en ''Confirmar excepción de seguridad''. Si nos pone algo como "el certificado no es válido" lo podemos ignorar y confirmar de todos modos.
  
 ===== Protócolo JSON ===== ===== Protócolo JSON =====
Línea 97: Línea 157:
 } }
 </code> </code>
 +También es posible enviar imagenes u otros datos binarios (documentos de office etc.) al serivico web, pero entonces hay que codificar el parámetro en //base64// y añadir al nombre del parámetro el anexo ''B64'', como se muestra en el siguiente ejemplo:
 +<code>
 +{
 +  "version"  : "1.2",
 +  "metodo"   : "Raw",
 +  "opciones" : { "metaData":true },
 +  "comandos" :
 +  [
 +    {
 +      "sql":"execute procedure INSERTA_IMAGEN :id, :imagenB64",
 +      "params": { "id" : 1000, "imagenB64" : "A3G1BGI_8KWilO" }
 +    }
 +  ]
 +}
 +</code>
 +
 El formato //Raw// permite cualquier interacción con los datos, siempre dentro de los límites de seguridad que se explican a continuación. El formato //Raw// permite cualquier interacción con los datos, siempre dentro de los límites de seguridad que se explican a continuación.
  
usu/smartweb/introduccion_a_smartwebdoc.1518685915.txt.gz · Última modificación: 2018/02/15 10:11 por stefan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki