SharePoint 2007 Web Services update non ben documentato

Mi è capitato, in questi ultimi giorni, di realizzare un prodotto che si interfacciasse con SharePoint tramite gli web service. Puntualizzando che Microsoft ha fatto veramente un buon lavoro, mi trovo a dover aggiornare lo stato di un documento, lasciando la possibilità all'utente, di deciderne il ciclo di vita.

Non mi dilungo nella spiegazione degli stati dei documenti e dei potenti workflow messi a disposizione da SharePoint, ma vi segnalo un interessante argomento.

Dopo alcune ricerche cerco di aggiornare lo stato così: (0 è approved; 2 è pending; 1 è rejected)

Lists listService = new Lists();
listService.Credentials = System.Net.CredentialCache.DefaultCredentials;

XmlDocument doc = new XmlDocument();
System.Xml.XmlElement updates = doc.CreateElement("Batch");
try
{
        updates.InnerXml = string.Format(@"<Method id='1'  Cmd='Update'>" +
        "<Field Name='SPR No'>63626</Field>" +
        "<Field Name='Severity'>Critical Failure</Field>" +
        "<Field Name='_ModerationStatus'>1</Field>" + "</Method>");

        XmlNode node = listService.UpdateListItems ("139289E8-7DE2-4EBF-99DE-BC57B6AE0129", updates);
}
catch(Exception ex)
{
        string strError = ex.Message;
}

ma nulla da fare si aggiorna tutto meno lo stato...

navigando qua e la nelle sperdute terre del web trovo questo post molto interessante:

Synchronizing with Windows SharePoint Services, Part 1

ma soprattutto la seconda parte:

Synchronizing with Windows SharePoint Services, Part 2


dove è ben evidenziato che esiste nei cmd 4 possibilità:

Method Description
New Create a new item with the specified field values.
Update Update the specified field values for an item.
Moderate Change the moderation status for an item (used in the same manner as Update). The ModerationStatus field can only be changed by a Cmd=Moderate call.
Delete

Delete the item with the following field values

dalla documentazione Microsoft Windows SharePoint Services Software Development Kit appaiono sole le prime 3 New Update Delete.

Cambiando "<Method id='1'  Cmd='Moderate'>" ho risolto magicamente il problema.

spero di essere stato di aiuto...

posted @ mercoledì 18 giugno 2008 02:20

Print
Comments have been closed on this topic.