Inserimento e modifica dei dati
A proposito del versioning: se un utente desidera sostituire un allegato deve annullare la registrazione e metterne una nuova?
Il versioning dei file - per le immagini non è possibile - è disponibile solo per i documenti non protocollati e per le bozze di documenti protocollati. Qualora si voglia sostituire un allegato di un documento protocollato occorre annullare la registrazione e inserire un nuovo documento.
A pag. 26 delle vs. slide è consigliato per la classificazione e lo smistamento dei documenti l'utilizzo delle voci di indice. E' l'unico modo di procedere oppure è possibile prescindere dalla classificazione in sede di assegnazione di un documento?
In inserimento di un documento, se non si usano le voci di indice, non è possibile omettere la classificazione. Bisogna, quindi, indicarla insieme agli smistamenti (rpa, cc, ecc.).
Non usare le voci di indice, però, è un approccio sconsigliato perché vincola fortemente il client a Titulus: esso, infatti, deve sapere quali classificazioni usare e a quali persone assegnare i documenti; per ogni persona è necessario indicare il nome, la matricola, il nome dell'ufficio di appartenenza e il suo codice.
La voce di indice, invece, semplifica la configurazione del client ed in futuro verrà usata per assegnare anche altre informazioni (es. il codice di repertorio).
Se un ateneo non è abituato ad usare le voci di indice, si consiglia comunque di definirle almeno per i client che devono registrare dei documenti mediante i web service.
A causa di alcune limitazioni, attualmente non è possibile usare le voci di indice per indicare il mittente di un documento tra uffici (RPA e classificazione della minuta). La cosa, però, verrà presto risolta.
Le annotazioni inserite sono notificate agli uffici che condividono la registrazione?
Attualmente le annotazioni inserite tramite il metodo Titulus.postIt() non vengono notificate agli smistamenti del documento. La notifica delle annotazioni verrà però implementata a breve.
Linguaggi e librerie
JAVA
Cos’è Dom4J?
dom4j è una libreria java usata per la gestione dei file xml.
.NET
Facendo i test con .net otteniamo una risposta "HTTP 417 Expectation failed" chiamando il comando init. E' un problema che avete già visto?
Non avendo esperienza in .NET, riportiamo il workaround trovato da un cliente:
http://www.codeproject.com/Articles/94235/The-request-failed-with-HTTP-status-417-Expectatio
Implementazione Protocollo Soap mediante vb.NET - WSE 2.0 e codifica DIME
Scarica la dispensa:
Si ringrazia l'Università degli Studi di Catania per aver gentilmente concesso la distribuzione di questa dispensa.
Client .NET scritto in C#
Ecco un client .NET di esempio scritto in C#:
Le risposte SOAP multipart (questa modalità, usata dal vecchio servizio Titulus, riguarda il download/upload dei file mediante SwA - SOAP with Attachments) non si riescono a gestire mediante WCF.
E' necessario usare la libreria Microsoft.Web.Services2.dll per interpretare correttamente questi messaggi SOAP.
Abbiamo recentemente provato a generare il codice del client .NET scritto in C# utilizzando .NET 4.
Questi sono i risultati della generazione:
PHP
Per i programmatori in PHP come si consiglia di lavorare?
Purtroppo non abbiamo esperienze con questo linguaggio di programmazione e non abbiamo ricevuto dei riscontri da parte dei clienti che hanno usato php per contattare i servizi di Titulus.
Sappiamo che le più diffuse librerie per la creazione di client php hanno dei problemi nella gestione dei messaggi SOAP mime-multipart, cioè non riescono a gestire il download/upload dei file secondo la specifica SwA (SOAP with Attachments) usata dal vecchio servizio Titulus.
Tutto ciò di cui disponiamo è un link ad un post di un forum dove si affronta questo problema:
Problema del client PHP nella gestione dei messaggi SOAP Multipart
Al di là delle tecniche “fai da te”, sembra che si consigli l'uso della libreria WSO2 WSF/PHP.
Update del 28/06/12
Un nostro cliente consiglia di usare la libreria “NUSOAP” (versione usata: 0.9.5), avendo, però, l'accortezza di istanziare l’oggetto di tipo nusoap_client_mime al posto di quello usato normalmente, cioè nusoap_client.
Update del 16/07/13
L'uso dei metodi per il download degli allegati che non fanno uso della specifica SwA consente di evitare i problemi riscontrati in passato (vecchio servizio Titulus). Si vedano getAttachmentByteArray() e getAttachmentBase64().
Anche per l'upload degli allegati è possibile fare a meno della specifica SwA, usando il metodo saveDocumentWithAttachments().
Update del 28/02/14
Con i nuovi servizi della versione 4 la modalità di upload/download dei file tramite SwA è stata abbandonata, quindi non è più necessario usare delle librerie in grado di gestirla.
Sistemi
Le connessioni sono in ssl o in chiaro?
Dipende dalle esigenze del cliente. Si tratta di un aspetto legato alla configurazione del sistema e non impatta sul funzionamento dei servizi.