SharePoint 2010 - Modelo de Objeto do Cliente - Adicionar anexo ao ListItem
Eu tenho uma lista do SharePoint na qual estou adicionando novos ListItems usando o modelo de objeto do cliente. Adicionar ListItems não é um problema e funciona muito bem.
Agora eu quero adicionar anexos.
Estou usando o SaveBinaryDirect da seguinte maneira:
File.SaveBinaryDirect(clientCtx, url.AbsolutePath + "/Attachments/31/" + fileName, inputStream, true);
Ele funciona sem nenhum problema, desde que o item ao qual estou tentando adicionar o anexo já possua um anexo que foi adicionado através do site do SharePoint e não use o Modelo de Objeto do Cliente.
Quando tento adicionar um anexo a um item que ainda não possui anexos, recebo os seguintes erros (ambos ocorrem, mas não com os mesmos arquivos - mas essas duas mensagens aparecem de forma consistente):
The remote server returned an error: (409) Conflict
The remote server returned an error: (404) Not Found
Achei que talvez fosse necessário primeiro criar a pasta de anexo para este item. Quando tento o seguinte código:
clientCtx.Load(ticketList.RootFolder.Folders);
clientCtx.ExecuteQuery();
clientCtx.Load(ticketList.RootFolder.Folders[1]); // 1 -> Attachment folder
clientCtx.Load(ticketList.RootFolder.Folders[1].Folders);
clientCtx.ExecuteQuery();
Folder folder = ticketList.RootFolder.Folders[1].Folders.Add("33");
clientCtx.ExecuteQuery();
Eu recebo uma mensagem de erro dizendo:
Cannot create folder "Lists/Ticket System/Attachment/33"
Eu tenho direitos totais de administrador para o site / lista do SharePoint.
Alguma idéia do que eu poderia estar fazendo de errado?
Obrigado, Thorben