SharePoint 2007 - problém s WSS

Problém

Mám vlastní webovou službu, která zapisuje do listu.  Vše proběhne v pořádku, až na poslední krok, kdy se ukládá položka. Vyskočí chyba Operation is not valid due to the current state of the object.

Řešení

Je potřeba vynulovat HttpContext, viz příklad.

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    HttpContext.Current = null;
    using (SPSite site = new SPSite(targetWeb))
    {
        using (SPWeb web = site.OpenWeb())
        {
            SPList targetlist = web.Lists[targetList];
            foreach (ItemType item in import.item)
            {
   	        ...
            }
        }
    }
});

Odkazy
http://social.msdn.microsoft.com/Forums/en-US/32869ac6-4f47-46b8-accf-f56966ac9581/operation-is-not-valid-due-to-the-current-state-of-the-object-at?forum=sharepointdevelopmentlegacy

SharePoint 2007 - tvorba vlastní WSS

Celý postup tvorby vlastní webové služby.

SharePoint podpora přímo do Microsoftu

Řešení problémů a rady přímo z Microsoftu.
Top Support Solutions for Microsoft SharePoint Server

SharePoint 2007/2010/2013 - nástroje I.

CAML.NET

Tvorba CAML dotazů. Určeno pro vývojáře.
http://camldotnet.codeplex.com/

Camlex.NET

Tvorba CAML dotazů. Určeno pro vývojáře.
http://camlex.codeplex.com/

SharePoint Dispose Checker Tool

Kontrola kódu. Určeno pro vývojáře,
http://archive.msdn.microsoft.com/SPDisposeCheck

SharePoint Event Receiver Manager (2007 & 2010)

Správa Event Receiverů
http://speventreceiverman.codeplex.com/

SharePoint Solution Installer

http://sharepointinstaller.codeplex.com/

SharePoint Learning Kit

Certifikované e-Learnig řešení.
http://slk.codeplex.com/

AutoSPInstaller

Automatická instalace pomoci PowerShellu.
http://autospinstaller.codeplex.com/

SharePoint log viewer

Prohlížení ULS logů.
http://splogviewer.codeplex.com/

SharePoint OCR image files indexing

IFilter pro SharePoint.
http://wssocr.codeplex.com/

SharePoint 2007 - nástroje I.

SharePoint Designer 2007

Správa prostřední MS SharePoint 2007 / Services 3.0
http://www.microsoft.com/en-us/download/details.aspx?id=21581

Visual Studio 2008 extensions for Windows SharePoint Services 3.0, v1.3 - Mar 2009 CTP

Rozšíření pro MS Visual Studio 2008.
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=21082

Windows SharePoint Services 3.0 Tools: Visual Studio 2008 Extensions, Version 1.2

Rozšíření pro MS Visual Studio 2008.
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=841

PDF IRM Protector For SharePoint 2007 And 2010

Konverze PDF dokumentů.
http://pdfirmprotector.codeplex.com/

PowerShell Extensions for SharePoint

SharePoint Alert Manager

Správa alertů
http://spalertmanager.codeplex.com/

Vlastní Error stránka

  1. Na MOSS serveru je potřeba vytvořit kopii ze souboru
    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\LCID\
    
    a pojmenovat ji např. "my404.html"
    LCID: 1033 - en, 1029 cz ...
  2. Soubor "my404.html" upravit do potřebného designu.
  3. Použít jednu z následujícu akcí pro nasazení:
  • Create a Console Application, insert the following code into it and run.
    System.Uri webApplicationUri = new Uri("http://myserver/");
    SPWebApplication webApplication = SPWebApplication.Lookup(webApplicationUri);
    webApplication.FileNotFoundPage = "my404.html";  
    webApplication.Update();
  • V PowerShellu lze spustit následující script.
    PS: [System.Reflection.Assembly]::Load("Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral,PublicKeyToken=71e9bce111e9429c")
    PS: $webapp = [Microsoft.SharePoint.Administration.SPWebApplication]::Lookup("http://myserver/")
    PS: $webapp.FileNotFoundPage = "my404.html"
    PS: $webapp.Update()

Zdroj informací:

http://support.microsoft.com/
http://blogs.msdn.com/jingmeili/
http://www.wssdemo.com/

Seznam webových služeb pro SharePoint 2007

WSS Web ServicesWeb Reference
Administration Service {server}/_vti_adm/admin.asmx
Alerts Service {server}/_vti_bin/alerts.asmx
Document Workspace Service {server}/_vti_bin/dws.asmx
Forms Service {server}_vti_bin/forms.asmx
Imaging Service {server}/_vti_bin/imaging.asmx
List Data Retrieval Service {server}/_vti_bin/dspsts.asmx
Lists Service {server}/_ vti_bin/lists.asmx
Meetings Service {server}/ _vti_bin/meetings.asmx
Permissions Service {server}/_vti_bin/permissions.asmx
Site Data Service {server}/_vti_bin/sitedata.asmx
Site Service {server}/_vti_bin/sites.asmx
Users and Groups Service {server}/_vti_bin/usergroup.asmx
Versions Service {server}/_vti_bin/versions.asmx
Views Service {server}/_vti_bin/views.asmx
Web Part Pages Service {server}/_vti_bin/webpartpages.asmx
Webs Service {server}/_vti_bin/webs.asmx

Více informací:
SharePoint and Web Services
Talk to SharePoint through its web services

O blogu

Tento blog je místem, kde sdílím své zkušenosti, části zdrojových kódů, odkazy apod. Zdroje jsou zaměřeny převážně na problematiku portálového řešení SharePoint a vývoj webů v prostředí Microsoft. Mým cílem není úplně obsahnout konkrétní řešení, ale pouze tu část, kterou potřebuji. Pokud se problematika obsáhlejší, jsou pod článkem odkazy na související informace.

O autorovi

Oldřich Zátopek
Zabývám se vývojem webových aplikací internet/intranet na Microsoft technologiích. Hlavní specializace je SharePoint. LinkedIn