J'ai un formulaire InfoPath avec un code de soumission personnalisé pour mettre à jour une liste Sharepoint en appelant le service Web Listes de points de partage. Le code s'exécute sans aucune exception et j'ai pu définir des points d'arrêt pour m'assurer que les variables contiennent les valeurs correctes avant d'être envoyées au service Web. Cependant, les valeurs ne sont jamais ajoutées à la liste Sharepoint. Voici mon code:Accès au service Web Listes de SharePoint à partir de .NET
[InfoPathEventHandler(MatchPath = "Submit", EventType = InfoPathEventType.OnClick)]
public void Submit_OnClick(DocActionEvent e)
{
ListsService.Lists listService = new Risk_Form.ListsService.Lists();
listService.Credentials = System.Net.CredentialCache.DefaultCredentials;
string riskID = thisXDocument.DOM.selectSingleNode("//my:myFields/my:RiskID").text;
string headline = thisXDocument.DOM.selectSingleNode("//my:myFields/my:RiskHeadline").text;
XmlDocument doc = new XmlDocument();
XmlElement batch = doc.CreateElement("Batch");
batch.SetAttribute("OnError", "Continue");
batch.SetAttribute("ListVersion", "1");
batch.InnerXml =
"<Method ID='" + riskID + "' Cmd='New'>" +
"<Field Name='RiskID'>" + riskID + "</Field>" +
"<Field Name='Headline'>" + headline + "</Field>" +
"</Method>";
try
{
// Update list using the list's GUID
listService.UpdateListItems("2F6CA5F4-D78A-4716-B111-507917CF89E4", batch);
}
catch(Exception ex)
{
thisXDocument.DOM.selectSingleNode("//my:myFields/my:RiskStatement").text = ex.Message;
}
}
Pas de vote à la baisse ou de vote pour terminer, mais ... avez-vous oublié de poser une question? –
Lol bon appel. Édité. – Jared