トップ回答者
webサービス(soap)からタイマージョブ起動が出来ない

質問
-
WSS3.0で、タイマージョブを起動する側をweb(.aspx)からwebサービス(.asmx)に変更したところ、updateにおいて以下のエラーとなりました。webサービスからは起動出来ないという制限があるのでしょうか?
■起動要求コード
SPJobDefinition job = new SPJobDefinition(jobname, webApplication, null, lockType);
job.Title = JobName;
job.Schedule = new SPOneTimeSchedule(DateTime.Now);
job.Update();
(SPJobDefinitionは実際には継承したものを使用)■Job.Update()でのエラー内容
Exception message: オブジェクトの現在の状態に問題があるため、操作は有効ではありません。. Exception stack trace:
場所 Microsoft.SharePoint.WebControls.SPControl.SPWebEnsureSPControl(HttpContext context)
場所 Microsoft.SharePoint.WebControls.SPControl.GetContextWeb(HttpContext context)
場所Microsoft.SharePoint.Utilities.SPUtility.ValidateFormDigest()
場所 Microsoft.SharePoint.Administration.SPPersistedObject.Update()
場所 Microsoft.SharePoint.Administration.SPJobDefinition.Update()
[以下省略]
- 編集済み 松本_ 2012年1月26日 1:09
回答
すべての返信
-
-
私が書いた記述は、ご指摘の通り、SharePointのセキュリティ検証を
この辺りは、SharePointの開発には必須の知識だと思うので、もっと日本語の情報が増えてほしいですね。
騙す書き方なので、使うには注意が必要です。
セキュリティ検証だけについてなら、
http://msdn.microsoft.com/ja-jp/library/ms472879.aspx
に説明があります。
また、英語ページではありますが、
http://hristopavlov.wordpress.com/2008/05/21/what-you-need-to-know-about-allowunsafeupdates-part-2/
のページがわかりやすいです。