質問


SharePointでWebサービスを構築するために、次の手順に従いました。

  1. wspbuilderを使用して新しいプロジェクトを作成しました。
  2. 「WebService」を追加しました(レイアウトフォルダーに新しいWebサービスを追加)
  3. wsbbuilder "deploy」を行う
  4. WebServiceにアクセスできます 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-deou-deploy-custom-sharepoint-web-service-files-at-at-at-28asmx-discoaspx-and-wsdlaspx%29.aspx _layoutsと_vti_binの違いを説明しています。


質問
従うための最良の方法は何ですか?
また、VS2008のビルドまたはWSPからの展開中にこれを自動化できますか?

役に立ちましたか?

解決 2

質問の最後に参照する記事は本当に答えます。カスタムWebサービスは_VTI_BINに配置する必要があります。

私は通常、それらを_layoutsに追加することから始めますが、それは私のディスカバリーファイルなどを定義できるようにするためだけです(あなたが言及したMSDN仕様で説明されています)。


プロジェクトのWebServiceアセンブリ(DLL)から *wsdl.aspxおよび *disco.aspx SharePoint互換ファイルを生成するシンプルなコマンドラインツールを作成しました。


ツールはで見つけることができます http://wsdlgenerator.codeplex.com .

このようなSharePoint WebSvicesプロジェクトのビルドでこれを使用する場合:

次の行をに追加します 「ポストビルド」 イベント:

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

WSDLおよびディスコファイルは自動的に作成され、ISAPIフォルダーに配置されます。

他のヒント

質問の最後に参照する記事は本当に答えます。カスタムWebサービスは_VTI_BINに配置する必要があります。

私は通常、それらを_layoutsに追加することから始めますが、それは私のディスカバリーファイルなどを定義できるようにするためだけです(あなたが言及したMSDN仕様で説明されています)。

_VTI_BINは、12/ISAPIフォルダーにマッピングされた仮想ディレクトリであるため、ソリューションマニフェストの要素を使用して展開できます。例を参照してください ここ

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top