Le migliori pratiche per lo sviluppo di un servizio Web in SharePoint?
-
16-10-2019 - |
Domanda
Ho seguito i seguenti passi per costruire un webservice in SharePoint:
- Creato un nuovo progetto utilizzando WSPBuilder.
- Aggiunto un 'WebService' (Aggiungere un nuovo servizio web alla cartella layout)
- Fare un WSBBuilder "Deploy"
- il webservice è accessibile tramite http: //server/_layouts/MyWebService.asmx
È corretto? O devo seguire la procedura descritta in MSDN di creare il mio .wsdl / .disco file e distribuirli a / _ vti_bin per fare il mio servizio Web accessibile tramite http: //server/_vti_bin/MyWebService.asmx ?
(Nota:. i passaggi manuali da MSDN possono essere automatizzate usando SPDev
ho trovato anche questo blog:
http://jamestsai.net/Blog/post/Where-do-you-deploy-custom-SharePoint-web-service-files-to-%28asmx-discoaspx-and-wsdlaspx%29.aspx che descrive la differenza tra _layouts e _vti_bin.
Domanda
Qual è il modo migliore per seguire?
E come può essere automatizzato tramite la configurazione in VS2008 o durante la distribuzione dalla WSP?
Soluzione 2
l'articolo si fa riferimento alla fine della tua domanda in realtà risposte che: servizi web personalizzati devono essere collocati in _vti_bin.
Di solito inizio aggiungendoli _Layouts ma questo è solo per essere in grado di definire i miei file di scoperta ecc (come descritto nelle specifiche MSDN si parla).
ho creato un semplice strumento a riga di comando che genera * disco.aspx SharePoint file compatibili wsdl.aspx * e dal WebService di montaggio (DLL) nel progetto.
Tool può essere trovato alla http://wsdlgenerator.codeplex.com .
Quando si utilizza questo nella build dai vostri WebServices SharePoint progetto come questo:
Aggiungere la seguente riga alla "Post Build" evento:
"$(ProjectDir)Tools\WSDLGenerator.exe" --input "$(TargetPath)" --outputfolder "$(ProjectDir)12\ISAPI" --spwsdl --spdisco
I file WSDL e discoteca vengono creati e inseriti nella cartella ISAPI automaticamente.
Altri suggerimenti
l'articolo si fa riferimento alla fine della tua domanda in realtà risponde che: servizi web personalizzati devono essere posti in _vti_bin.
Di solito inizio aggiungendoli al _layouts ma questo è solo per essere in grado di definire i miei file di scoperta etc (come descritto nella specifica MSDN si parla).
_vti_bin è una directory virtuale mappata alla cartella 12 / ISAPI, in modo da poter distribuire a che l'utilizzo di elemento nella soluzione manifesto. Vedere un esempio qui