#c# #.net #web-services #soap #asmx
#c# #.net #веб-службы #soap #asmx
Вопрос:
Я пытаюсь создать своего рода веб-службу «начальной загрузки», используя классическую страницу .net C # .asmx, а не WCF. (Бизнес-требования для этого проекта специфичны и не требуют службы WCF).
В принципе, я пытаюсь сделать это:
- Создайте новую веб-службу (у меня нет проблем с этим)
- Этой службе необходимо выполнить вызов веб-службы Sharepoint на основе SOAP
- Мне нужно использовать эту службу
- Мне нужно добавить дополнительные фрагменты информации для моей веб-службы в результат SOAP (здесь тоже нет проблем)
Проблема, с которой я столкнулся, связана с пунктами № 2 и № 3. Я нашел множество статей, использующих WCF для использования веб-служб на основе SOAP или использующих «Linq» для подключения к sharepoint и т.д., Но это не то, что я ищу.
То, что я ищу, — это просто пошаговый процесс того, что мне нужно сделать, чтобы подтолкнуть меня в правильном направлении.
Пример:
- добавить ссылку на веб-службу??
- добавьте эту строку (ы) кода для создания нового запроса SOAP??
- добавьте эту строку (ы) кода для анализа и использования службы??
Заранее большое вам спасибо!!!
Пример кода также был бы весьма признателен!
Комментарии:
1. Какую версию SharePoint вы используете?
Ответ №1:
В том факте, что это веб-служба, нет ничего волшебного. Просто используйте «Добавить ссылку на службу», а затем обработайте ее как любой другой фрагмент кода, ссылающийся на веб-службу.
Кроме того, знают ли те, кто писал требования, что служба WCF может предоставлять basicHttpBinding
конечную точку, которая выглядит точно так же, как конечная точка веб-службы ASMX? Она также будет обладать всеми преимуществами WCF, в дополнение к тому, что Microsoft не использует то, что считает «устаревшей технологией».
Комментарии:
1. Спасибо вам за ваш ответ!! Я обсудлю этот вопрос с ними, чтобы посмотреть, сможем ли мы что-то модернизировать. В то же время, поскольку любые технические изменения занимают вечность, как бы я мог ссылаться на этот веб-сервис в своем коде, чтобы фактически отправить SOAP-запрос, а затем использовать / проанализировать его? Еще раз спасибо.
2. Извините, я не понимаю, что вы имеете в виду. Вот как вы ссылаетесь на веб-службу. Используйте «Добавить ссылку на службу», а затем действуйте как обычно. Вы могли бы использовать «Добавить веб-ссылку», если вам нужно, но зачем делать обратное, когда в этом нет необходимости?
3. Извините за мой расплывчатый вопрос. Я имел в виду, как я мог бы использовать прокси, который был создан для вызова веб-службы и обработки ответа. В руководстве, приложенном к моему комментарию в ответе @Joel C, описан «следующий шаг» после добавления ссылки на проект. Еще раз спасибо за ваш ответ!
Ответ №2:
Центр разработки SharePoint в MSDN был бы хорошим местом для получения общей информации, руководств и т.д. Архитектура сервера и сайта: обзор объектной модели для Windows SharePoint Services 3 SDK было бы неплохо начать знакомство с объектной моделью SharePoint, поскольку термины (SPSite, SPWeb и т.д.), с которыми вы столкнетесь в примерах, могут сбивать с толку.
В основном вы захотите добавить свою веб-ссылку на веб-службу SharePoint, которую вы собираетесь использовать. Используемая вами конкретная ссылка будет зависеть от того, чего вы пытаетесь достичь, существует целый список доступных веб-служб Windows SharePoint Services. Они предназначены для общих задач SharePoint, таких как взаимодействие со списками и сайтами; существует также целый отдельный набор веб-служб для SharePoint Server, который можно использовать для взаимодействия с каталогом бизнес-данных, корпоративным поиском и любыми другими функциями, которые поставляются с SharePoint Server, а не с Windows SharePoint Services.
Когда вы добавляете веб-ссылку в visual Studio, она автоматически генерирует прокси-сервер в вашем проекте для удаленной веб-службы, и вы используете созданный прокси-сервер для выполнения того, что вы хотите сделать. Однако, работая непосредственно с веб-службами, практически все возвращает общий код, с XmlNode
которым вам придется иметь дело, поэтому, если вы работаете в .NET, гораздо лучшей альтернативой использованию веб-служб напрямую было бы загрузить SharePoint SDK и программировать на основе объектной модели сервера.
Если вы в конечном итоге используете объектную модель, убедитесь, что вы внимательно прочитали оба этих документа:
Рекомендации: распространенные проблемы с кодированием при использовании объектной модели SharePoint
Рекомендации: использование одноразовых объектов служб Windows SharePoint
Комментарии:
1. Спасибо! Я собираюсь использовать Sharepoint SDK, как вы предложили. Если кто-то наткнется на это и захочет ознакомиться с базовым руководством по использованию C # для простого вызова веб-служб Sharepoint, пожалуйста, ознакомьтесь с этой статьей: ссылка
Ответ №3:
Вот небольшое руководство по тому, что вы пытаетесь сделать: http://www.xefteri.com/articles/show.cfm?id=15
Комментарии:
1. Спасибо за руководство, но я искал веб-службу на C #. Статья, на которую дана ссылка, находится на VB.