webservice CopyIntoItems не работает для загрузки файла в sharepoint - PullRequest
1 голос
/ 18 марта 2010

Следующая часть C # всегда терпит неудачу с

1

Неизвестно

Ссылка на объект не установлена ​​для экземпляра объекта

Кто-нибудь знает, что мне не хватает?

        try
        {
            //Copy WebService Settings                
            String strUserName = "abc";
            String strPassword = "abc";
            String strDomain = "SVR03";
            String FileName = "Filename.xls";

            WebReference.Copy copyService = new WebReference.Copy();
            copyService.Url = "http://192.168.11.253/_vti_bin/copy.asmx";
            copyService.Credentials = new NetworkCredential
                                          (strUserName,
                                           strPassword,
                                           strDomain);


            // Filestream of attachment
            FileStream MyFile = new FileStream(@"C:\temp\28200.xls", FileMode.Open, FileAccess.Read);
            // Read the attachment in to a variable
            byte[] Contents = new byte[MyFile.Length];
            MyFile.Read(Contents, 0, (int)MyFile.Length);
            MyFile.Close();

            //Change file name if not exist then create new one                
            String[] destinationUrl = { "http://192.168.11.253/Shared Documents/28200.xls" };

            // Setup some SharePoint metadata fields
            WebReference.FieldInformation fieldInfo = new WebReference.FieldInformation();
            WebReference.FieldInformation[] ListFields = { fieldInfo };

            //Copy the document from Local to SharePoint
            WebReference.CopyResult[] result;
            uint NewListId = copyService.CopyIntoItems
                (FileName,
                 destinationUrl,
                 ListFields, Contents, out result);
            if (result.Length < 1)
                Console.WriteLine("Unable to create a document library item");
            else 
            {
                Console.WriteLine( result.Length );    
                Console.WriteLine( result[0].ErrorCode );
                Console.WriteLine( result[0].ErrorMessage );
                Console.WriteLine( result[0].DestinationUrl);
            }
        }

        catch (Exception ex)
        {
            Console.WriteLine("Exception: {0}", ex.Message);
        }

Ответы [ 2 ]

1 голос
/ 12 августа 2010

Если вы будете использовать вместо этого IP-адрес (http://192.168.11.253) имя сервера ( http: //...), Этот веб-сервис работает хорошо.

0 голосов
/ 05 августа 2013

Не понимая больше вашей конкретной ошибки, я бы тоже ухватился за соломинку. Похоже, ваш destinationUrl является неполным путем. Обычно вам необходимо указать полный URL-адрес сайта или семейства сайтов. Итак, я ожидаю, что ваш destinationUrl будет выглядеть как http://192.168.11.253/[SiteName]/Shared Documents/28200.xls вместо http://192.168.11.253/Shared Documents/28200.xls".

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