Вопрос


Я выполнил следующие шаги, чтобы создать веб -сервис в SharePoint:

  1. Создал новый проект с использованием WSPBuilder.
  2. Добавлен «Веб -сервис» (добавьте новую веб -сервис в папку Mayouts)
  3. Делишься "развернуть"
  4. Веб -сервис доступен через http: //server/_layouts/mywebservice.asmx

Это правильно ? Или я должен выполнить шаги, описанные на MSDN Чтобы создать свой собственный .wsdl / .дискотека файлы и развернуть их в /_vti_bin Чтобы сделать мой веб -сервис доступным через http: //server/_vti_bin/mywebservice.asmx ?
(Примечание: ручные шаги от MSDN могут быть автоматизированы с помощью Spdev.


Я также нашел этот блог:http://jamestsai.net/blog/post/where-do-you-deploy-custom-sharepoint-web-service-files-to-%28asmx-discoaspx-and-wsdlaspx%29.aspx который описывает разницу между _layouts и _vti_bin.


Вопрос
Каким лучше всего следовать?
И как это может быть автоматизировано через сборку в VS2008 или во время развертывания из WSP?

Это было полезно?

Решение 2

Статья, которую вы ссылаетесь в конце вашего вопроса, действительно отвечает на нее: пользовательские веб -сервисы должны быть размещены в _vti_bin.

Я обычно начинаю с добавления их в _layouts, но это только для того, чтобы иметь возможность определить мои файлы обнаружения и т. Д. (Как описано в упомянутой вами спецификации MSDN).


Я создал простой инструмент командной линии, который генерирует совместимые с файлами совместимых с совместимыми с файлами WSDL.ASPX и *DISCO.ASPX из сборки веб -сервиса (DLL) в проекте.


Инструмент можно найти в http://wsdlgenerator.codeplex.com .

При использовании этого в сборке из вашего проекта SharePoint Webservices, как это:

Добавить следующую строку в "После сборки" мероприятие:

"$(ProjectDir)Tools\WSDLGenerator.exe" --input "$(TargetPath)" --outputfolder "$(ProjectDir)12\ISAPI" --spwsdl --spdisco

Файлы WSDL и диско создаются автоматически и размещаются в папке ISAPI.

Другие советы

Статья, которую вы ссылаетесь в конце вашего вопроса, действительно отвечает на нее: пользовательские веб -сервисы должны быть размещены в _vti_bin.

Я обычно начинаю с добавления их в _layouts, но это только для того, чтобы иметь возможность определить мои файлы обнаружения и т. Д. (Как описано в упомянутой вами спецификации MSDN).

_VTI_BIN - это виртуальный каталог, отображаемый в папке 12/ISAPI, поэтому вы можете развернуть этот элемент в своем решении. См. Пример здесь

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top