Pregunta


He seguido los siguientes pasos para crear un servicio web en SharePoint:

  1. Creación de un nuevo proyecto usando WSPBuilder.
  2. Se ha añadido un 'servicio Web' (Añadir un nuevo servicio web a la carpeta de diseños)
  3. Haga una WSBBuilder "Implementar"
  4. El servicio Web es accesible a través de http: //server/_layouts/MyWebService.asmx

¿Es esto correcto? O debería seguir los pasos descritos en MSDN para crear mi propia .wsdl / .disco los archivos y desplegarlos a / _ vti_bin para hacer mi servicio Web accesible a través de http: //server/_vti_bin/MyWebService.asmx ?
. (Nota: los pasos manuales de MSDN se pueden automatizar usando SPDev


también encontré este blog: http://jamestsai.net/Blog/post/Where-do-you-deploy-custom-SharePoint-web-service-files-to-%28asmx-discoaspx-and-wsdlaspx%29.aspx cuales describe la diferencia entre _layouts y _vti_bin.


Pregunta
¿Cuál es la mejor manera de seguir?
Y cómo puede ser automatizado a través de la estructura en VS2008 o durante el despliegue de la WSP?

¿Fue útil?

Solución 2

artículo hace referencia al final de su pregunta realmente la contesta: servicios web personalizadas deben colocarse en _vti_bin.

Por lo general comienzan añadiéndolos a _Layouts pero eso es sólo para ser capaz de definir los archivos de mi descubrimiento, etc (como descrito en la especificación de MSDN mencionas).


He creado una herramienta de línea de comandos simple que genera wsdl.aspx * y * disco.aspx SharePoint archivos compatibles desde el servicio Web de montaje (DLL) en el proyecto.


Herramienta se puede encontrar en http://wsdlgenerator.codeplex.com .

Cuando se utiliza esta en la construcción de sus servicios web de SharePoint proyecto como este:

Añadir la siguiente línea a la "Post Build" eventos:

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

Los archivos WSDL y disco se crean y se colocan en la carpeta ISAPI automáticamente.

Otros consejos

artículo hace referencia al final de su pregunta realmente contesta: servicios web personalizados deben ser colocados en _vti_bin.

Por lo general comienzan añadiéndolos a _layouts pero eso es sólo para ser capaz de definir los archivos de mi descubrimiento, etc (como se describe en la especificación de MSDN que mencionas).

_vti_bin es un directorio virtual asignado a la carpeta 12 / ISAPI, para que pueda implementar en que el uso de elementos en su manifiesto de la solución. Ver un ejemplo aquí

Licenciado bajo: CC-BY-SA con atribución
scroll top