0

リモートクライアントで、SharePointサイトに新しいリストを作成しようとしています。現在、CAML文字列を作成し、httppostを介してSharePointサイトに送信しています。このメソッドを使用してリストアイテムを更新し、dwsフォルダーを作成しましたが、AddListを機能させることができないようです。「サーバーを削除するとエラーが返されました:見つかりません」というエラーが表示されます。

これが私の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; 

私はこれを次の設定でhttpPostに送信します。

        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サイトは、完全な読み取り/書き込み機能を備えたテストサイトです。

4

1 に答える 1

0

D'oh!soap:Envelope
タグ のこの部分: "xmlns:xsi = \" http://www.w3.org/2001/XMLSchema-instance "XMLSchema \" "の代わりにXMLSchema-instance"がありました。 その文字列を終了するには、余分な括弧が必要でした...

于 2010-03-05T18:31:02.967 に答える