Использование Http Post для AddList () в Sharepoint - PullRequest
0 голосов
/ 03 марта 2010

На удаленном клиенте я пытаюсь создать новый список на сайте sharepoint. Сейчас я создаю строку CAML и отправляю ее через http-пост на мой сайт sharepoint. Я использовал этот метод для обновления элементов списка и создания папок dws, но я не могу заставить AddList работать. Я получаю сообщение об ошибке «Удалить сервер вернул ошибку: NotFound.»

вот мой 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-посте со следующими настройками:

        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, к которому я добавляю список, является тестовым сайтом, на котором у меня есть все возможности чтения / записи.

1 Ответ

0 голосов
/ 05 марта 2010

D'Oh!
В этой части тега soap: Envelope : "xmlns: xsi = \" http://www.w3.org/2001/XMLSchema-instance" У меня был экземпляр XMLSchema "вместо XMLSchema \"".
Мне нужны были дополнительные скобки, чтобы завершить эту строку ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...