13.11.2008, 13:55 | #1 |
Участник
|
Работа с SharePoint
Через Lists Service в плагине создаю библиотеку документов:
Lists listService = new Lists(); listService.Credentials = new System.Net.NetworkCredential("xxx", xxx", "xxx"); string listName = "Моя компания"; listService.AddList(listName, listName+"Описание", 101); Все прекрасно создаеться, но в корне SharePoint так как метод создает объект в Current Site. Как заставить его создавать в другом месте? Как сменить этот Current Site перед вызовом AddList? Какой Service SharePoint и какой метод или свойство позволяет это сделать?
__________________
Сергей Осипов, MCTS:SQL Server 2005, ООО "Программные технологии", Самара |
|
13.11.2008, 14:25 | #2 |
Moderator
|
Сергей, вы точно на тот форум пишите?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
13.11.2008, 16:15 | #3 |
CRM
|
Не туда запостили.
Вы используете объектную модель или веб-сервисы? Скорее всего надо просто прописать путь до веба.Ведь Listsпринадлежат конкретному вебу.
__________________
MS CRM 3.0/4.0 Sharepoint 2003, MOSS 2007/2010 |
|
|
За это сообщение автора поблагодарили: sergeyjb (1). |
17.11.2008, 08:01 | #4 |
Участник
|
Копия переписки (если у кого аналогичный вопрос возникнет):
sergeyjb Чтоб меня там не порвали за офтоп спрошу лично: использую Вэб-сервис Lists для добавления. тоже понимаю что надо пролистать до нужного вэба надо чтоб сервис лист писал в http://st2/brik/crm/ а он пишет в корен который стоит текущим http://st2/ Вот в том у меня и проблема что я не знаю как мне его пролистать на 2 уровня вглубь до узла crm. Если есть опыт - скажи с помощью чего сделать это можно! ShurikEv Хотелось бы код инициализации сервиса увидеть. sergeyjb Отлаживаю пока в вин. приложении по кнопке, потом в плагин перенесу (target это требуемое место назначения библиотеки документов): Код: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Microsoft.Crm.Sdk; using Microsoft.Crm.SdkTypeProxy; using WindowsApplication1.st2; using System.Xml; namespace WindowsApplication1 { public partial class Form1 : Form { //................................. private void button1_Click(object sender, EventArgs e) { string target = "http://st2/brik/crm"; Lists listService = new Lists(); listService.Credentials = new System.Net.NetworkCredential("user", "password", "domain"); string listName = "Моя компания"; XmlNode SPresult = listService.AddList(listName, listName+"Описание", 101); } //.................................. } } Скорее всего вы добавили веб-сервис с ссылкой http://[имя портала]/_vti_bin/Lists.asmx Пробуйте так http://[имя портала]/[путь до сайта нужного - он же веб]/_vti_bin/Lists.asmx Скорее всего этот url можно менять программно у объекта listService sergeyjb Сервис действительно добавлял с ссылкой http://[имя портала]/_vti_bin/Lists.asmx у этого объекта есть у свойства url и метод set, так что выставить его можно программно запросто. Читая MSDN сделал вывод что путь http://[имя портала]/_vti_bin/ это единое место хранения всех вэбсервисов. Не знал что в каждом вэбе есть своя копия этих сервисов. В понедельник приду на работу - первым делом попробую вызвать сервис по пути к вэбу! Заранее спасибо за подсказку! sergeyjb Все работает! ShurikEv - спасибо!
__________________
Сергей Осипов, MCTS:SQL Server 2005, ООО "Программные технологии", Самара |
|
17.11.2008, 08:08 | #5 |
Участник
|
Артем:
Если не в ту ветку разместил - просьба к Вам перенсти в нужную Тема касалась интеграции CRM и SharePoint на уровне плагинов CRM. http://blogs.msdn.com/crm/archive/20...amics-crm.aspx Хотя технически действительно рассматривались только сервисы SharePoint. Если сочтете что вообще не по теме форума - можете удалять ветку, вопрос благодаря ShurikEv успешно решил для себя, так что надобности личной в ней больше нет
__________________
Сергей Осипов, MCTS:SQL Server 2005, ООО "Программные технологии", Самара |
|
17.11.2008, 17:49 | #6 |
Заноза в заднице
|
Ну кстати, тема интеграции прилаг - весьма интересна. У нас например тоже вовсю юзаются параллельно MOSS c CRM'ом и вопрос интеграции встает постоянно и ох какой непростой. Я бы где-нить начал отдельную ветку интеграции...
2 sergeyjb: первый пост очень в тему. Мне сейчас надо синхронизовать список клиентов CRM со списком вендоров MOSS. Я хоть увидел, как это. 2 ShurikEv & sergeyjb: так все-таки, а как вопрос решился?
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков! Последний раз редактировалось Likefire; 17.11.2008 в 17:52. |
|
17.11.2008, 21:51 | #7 |
Участник
|
Интеграция да - интересная тема.
Та статья что по ссылке я дал - стала отправной точкой только. Многое что дописал чтобы цивильно работала: 1. Код что в статье не позволит создавать рускоязычные компании и возможные сделки а также содержащие кавычки двойные например в наименовании. Пришлось код в порядок приводить и чуть корректнее его работать заставить. 2. Дописал также плагины на удаление этих самых компаний и сделок - чтоб мусор не оставляли после себя. 3. Куча дополнительных проверок на существование, замена отдельных спецсимволов при создании папки документов. 4. Код в том виде что в статье не даст также потом создать возможную сделку для Аккаунта который был создан ранее или по какой другой причине не имеет созданной и связанной с ним библиотеки документов - тоже проврку добавлять. Но как отправная точка статья свое дело сделала! А размещение в произвольном месте узла SharePoint решилось добавлением одной строки в код первого поста: Lists listService = new Lists(); listService.Credentials = new System.Net.NetworkCredential("xxx", xxx", "xxx"); listService.Url = "http://st2/brik/crm/_vti_bin/Lists.asmx"; string listName = "Моя компания"; listService.AddList(listName, listName+"Описание", 101); По умолчанию у экземпляра сервиса URL проставляется тот же что и у Web References ссылающегося на сервис Lists Web Service, на базе которого собственно этот экземляр и создается. А адаптация к русским символам и спецсимволам в названии заключалась в том что нельзя как в статье использовать имя Аккаунта или Возможной сделки чтобы сляпать путь к созданной библиотеке или папке документов. Надо выдирать их из возвращаемого методом кода XML из значения соответствующего аттрибута. По поводу списка вендоров - не знаю как MOSS устроен (за рамки поставленной задачи ковыряться в нем пока желания нет), но тот же сервис Lists имеет методы не только добавления но и запросов коллекций этих самых списков, которые возвращаются в виде XML Node и который затем можно парсить любыми способами, выбирая из него нужные данные.
__________________
Сергей Осипов, MCTS:SQL Server 2005, ООО "Программные технологии", Самара Последний раз редактировалось sergeyjb; 17.11.2008 в 22:03. |
|
|
За это сообщение автора поблагодарили: Likefire (1), Казарин Александр (1). |
18.11.2008, 07:17 | #8 |
CRM
|
Всегда рад помочь
__________________
MS CRM 3.0/4.0 Sharepoint 2003, MOSS 2007/2010 |
|
|
|