Frage


Ich habe die folgenden Schritte befolgt, um einen Webservice in SharePoint zu erstellen:

  1. Erstellt ein neues Projekt mit WSPBuilder.
  2. Einen "WebService" hinzugefügt (fügen Sie dem Layouts -Ordner einen neuen Webdienst hinzu).
  3. Machen Sie einen WSBBuilder "Bereitstellen"
  4. Der Webservice ist über über die Überwachung zugänglich http: //server/_layouts/mywebservice.asmx

Ist das richtig ? Oder sollte ich die beschriebenen Schritte befolgen Msdn Um meine eigenen zu erstellen .wsdl / .Disko Dateien und bereitstellen sie zu /_vti_bin Damit mein Webservice über übergreifbar ist http: //server/_vti_bin/mywebservice.asmx ?
(Hinweis: Die manuellen Schritte von MSDN können mithilfe der automatischen automatisiert werden SPDEV.


Ich habe diesen Blog auch gefunden:http://jamestsai.net/blog/post/where-do-you-deploy-custom-sharepoint-web-service-files-to-%28asmx-discoaspx-andlaspx%29.aspx Dies beschreibt den Unterschied zwischen _layouts und _vti_bin.


Frage
Was ist der beste Weg, um zu folgen?
Und wie kann dies über den Build in VS2008 oder während der Bereitstellung von der WSP automatisiert werden?

War es hilfreich?

Lösung 2

Der Artikel, den Sie am Ende Ihrer Frage verweisen, beantwortet ihn wirklich: Benutzerdefinierte Webdienste sollten in _vti_bin platziert werden.

Normalerweise füge ich sie zunächst zu _layouts hinzu, aber das ist nur in der Lage, meine Erfassungsdateien usw. zu definieren (wie in der von Ihnen erwähnten MSDN -Spezifikation beschrieben).


Ich habe ein einfaches Befehlszeilen -Tool erstellt, das *wsdl.aspx und *disco.aspx SharePoint -kompatible Dateien aus der WebService Assembly (DLL) im Projekt generiert.


Werkzeug kann bei gefunden werden http://wsdlgenerator.codeplex.com .

Wenn Sie dies im Build aus Ihrem SharePoint WebServices -Projekt wie folgt verwenden:

Fügen Sie der folgenden Zeile zur Füge hinzu "Post Build" Veranstaltung:

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

Die WSDL- und Disco -Dateien werden automatisch im ISAPI -Ordner erstellt und platziert.

Andere Tipps

Der Artikel, den Sie am Ende Ihrer Frage verweisen, beantwortet ihn wirklich: Benutzerdefinierte Webdienste sollten in _vti_bin platziert werden.

Normalerweise füge ich sie zunächst zu _layouts hinzu, aber das ist nur in der Lage, meine Erfassungsdateien usw. zu definieren (wie in der von Ihnen erwähnten MSDN -Spezifikation beschrieben).

_vti_bin ist ein virtuelles Verzeichnis, das dem 12/ISAPI -Ordner zugeordnet ist, sodass Sie das Element in Ihrem Lösungsmanifest für das Element bereitstellen können. Siehe ein Beispiel hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top