На удаленном клиенте я пытаюсь создать новый список на сайте sharepoint. Прямо сейчас, я строю строку CAML и отправляю ее через http-сообщение на мой сайт sharepoint. Я использовал этот метод для обновления элементов списка и создания dws-папок, но я не могу заставить AddList работать. Я получаю сообщение об ошибке «Удаленная ошибка сервера: NotFound».Использование Http Post to AddList() в Sharepoint
вот мой CAML:
string soapEnv =
"<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<soap:Envelope " + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance" +
"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"" +
" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
"<soap:Body>" +
"<AddList xmlns=\"http://schemas.microsoft.com/sharepoint/soap\">" +
"<listName>" + listName + "</listName>" +
"<description>" + "A Test list" + "</description>" +
"<templateID>100</templateID>" +
"</AddList>" +
"</soap:Body>" +
"</soap:Envelope>";
return soapEnv;
Я посылаю это в HTTP Post с этими настройками:
uri = "[my sharepoint site]/_vti_bin/lists.asmx";
WebClient client = new WebClient();
client.Headers["SOAPAction"] = "http://schemas.microsoft.com/sharepoint/soap/";
client.Headers["content-type"] = "text/xml; charset=utf-8";
client.Encoding = Encoding.UTF8;
client.UploadStringCompleted += UploadStringCompleted;
try
{
client.UploadStringAsync(new Uri(uri, UriKind.Absolute), "POST", CAML);
}
catch (Exception ex)
{
MessageBox.Show("Error in upload string async: " + ex.Message);
}
Есть идеи? Я вполне уверен, что это не проблема проверки подлинности, поскольку я использовал тот же самый метод в этой же программе для выполнения вышеупомянутых функций. Сайт sharepoint, к которому я добавляю список, является тестовым сайтом, на котором у меня есть полные возможности чтения/записи.
также забыл упомянуть, что это приложение silverlight – pclem12