Link to home
Start Free TrialLog in
Avatar of andrewn999
andrewn999

asked on

Sharepoint 2007 Second Front End web server and Web parts

We have a sharepoint 2007 farm with two separate sql severs (database mirroring) and single front end server and everything is working.
We added a second front end server (chose web front-end only during install) and everything appears to working  on this one except the web parts.  We have installed the custom codes on this second front end server as well.  My understanding is that the front end servers are stateless and configurations and contents are stored in the sql database.  The second front end can retrieve and render everything except the  custom web parts.  By the way,  I 'm not a developer, but a novice sharepoint admin. Thanks for your time.

ErroR:Web Part Error: An error has occurred.

Show Error Details
Hide Error Details

[ArgumentException: The serialized data is invalid.]
  at System.Web.UI.ObjectStateFormatter.Deserialize(Stream inputStream)
  at Microsoft.SharePoint.WebPartPages.Utility.DeserializeByteArrayToObject(Byte[] bytes)
  at Microsoft.SharePoint.WebPartPages.BinaryWebPartSerializer.ByteArrayToObjectArray(Byte[] data)
  at Microsoft.SharePoint.WebPartPages.BinaryWebPartSerializer.SerializedWebPart..ctor(SPWebPartManager webPartManager, XmlNamespaceManager xmlnsManager, Byte[] sharedData, Byte[] userData, String[] links, Type type, SPWeb spWeb)
  at Microsoft.SharePoint.WebPartPages.BinaryWebPartSerializer.Deserialize(SPWebPartManager webPartManager, XmlNamespaceManager xmlnsManager, Byte[] userData, Byte[] sharedData, String[] links, Type type, SPWeb spWeb)
  at Microsoft.SharePoint.WebPartPages.SPWebPartManager.CreateWebPartsFromRowSetData(Boolean onlyInitializeClosedWebParts)

[TypeLoadException: Could not load type 'CFCUBannerRotator.BannerRotator+ChevronBannerLocationsEnum' from assembly 'CFCUBannerRotator, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ad73003048643e99'.]
  at System.RuntimeTypeHandle._GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName)
  at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
  at System.RuntimeType.PrivateGetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
  at System.Type.GetType(String typeName, Boolean throwOnError)
  at System.Web.UI.ObjectStateFormatter.DeserializeType(SerializerBinaryReader reader)
  at System.Web.UI.ObjectStateFormatter.DeserializeValue(SerializerBinaryReader reader)
  at System.Web.UI.ObjectStateFormatter.DeserializeValue(SerializerBinaryReader reader)
  at System.Web.UI.ObjectStateFormatter.Deserialize(Stream inputStream)


Avatar of psgindiana
psgindiana

From http://technet2.microsoft.com/windowsserver/WSS/en/library/8f587476-fe65-4c82-89bd-46b5edaa06b51033.mspx?mfr=true

In a server farm configuration, if a Web Part package has already been installed on one front-end server, you can install the Web Part Package on another server from the configuration database by using the following syntax:

stsadm.exe -o addwppack -name <name of Web Part Package> [-url <URL>] [-globalinstall]
  -name specifies the name of a Web Part Package.
  -url optionally specifies the URL of the virtual server on which to install the Web Parts. To install the Web Parts on every virtual server on the server, omit the -url parameter.
  -globalinstall specifies to install the Web Parts in the global assembly cache (GAC) rather than in the Bin directories of each virtual server. Use this flag consistently on all front-end servers of a server farm.

To enumerate the Web Part packages installed on a virtual server, use the following syntax:

stsadm.exe -o enumwppacks [-name <name of Web Part Package>] [-url <URL>]
  -name specifies the name of a Web Part package. Omitting this parameter specifies to list all Web Part packages for the virtual server or virtual servers.
  -url optionally specifies the URL of the virtual server for which to enumerate the Web Part packages. If -url is omitted, Stsadm.exe enumerates Web Part packages on every virtual server on the server.
Avatar of andrewn999

ASKER

Thanks psgindiana.  I tried your suggestion.  But it looks like  our web parts weren't packaged.
Ran this on the fully functional front end.
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN>stsa
dm.exe -o enumwppacks
There are no items matching the criteria specified.
Maybe if you went through the steps you took in your step "We have installed the custom codes on this second front end server as well." it would help to discover if you missed something.
I wonder if this is will work:  Clone the first and fully functional server and rename it as second front end and rejoin the domain.  Has anyone tried this?
Avatar of Ted Bouskill
If you manually deployed customizations without using the Sharepoint Solution Deployment system you will have nothing but trouble.  Customized master pages and DLL's used for custom web parts are NOT stored in the database.

For example, did you realize that when you backup a site the customization is NOT backed up!  However it is if you use Sharepoint Solutions.  The Sharepoint SDK has lots of information and deploying solutions correctly.
ASKER CERTIFIED SOLUTION
Avatar of Ted Bouskill
Ted Bouskill
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial