Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

FIX: The Commerce Server cache may not be updated successfully when you try to use the SiteCacheRefresh method in Commerce Server 2007


View products that this article applies to.

Important This article contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 (http://support.microsoft.com/kb/256986/ ) Description of the Microsoft Windows registry

↑ Back to the top


Symptoms

Consider the following scenario. In Microsoft Commerce Server 2007, you try to use the SiteCacheRefresh method to update the Commerce Server cache. Additionally, the Commerce Server application uses Secure Hypertext Transfer Protocol (HTTPS). In this scenario, the Commerce Server cache may not be updated successfully. Additionally, the following event may be logged in the Application log:

Event Type: Error
Event Source: Commerce Server Business UI
Event Category: None
Event ID: 101
Date: <Date>
Time: <Time>
User: N/A
Computer: <CommerceServer>
Description: System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidOperationException: Instance validation error: '0' is not a valid value for System.Net.HttpStatusCode.
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterList1.Write1_HttpStatusCode(HttpStatusCode v)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterList1.Write3_CacheRefreshFailureInformation(String n, String ns, CacheRefreshFailureInformation o, Boolean isNullable, Boolean needType)
at
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterList1.Write4_Item(Object o) --- End of inner exception stack trace ---
at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o)
at Microsoft.CommerceServer.Internal.SerializableExceptionSignature.ReflectProperty(XmlWriter xmlWriter, Object obj, SerializableProperty propertyInfo)
at Microsoft.CommerceServer.Internal.SerializableExceptionSignature.BuildDetailXml(Boolean useCustomErrors, SerializableExceptionInfo exceptionInfo, Exception exceptionToSerialize)
at Microsoft.CommerceServer.Internal.ExceptionSerializer.TrySerializeToSoapException(Boolean useCustomErrors, SerializableExceptionInfo exceptionInfo, Exception exceptionToSerialize, Boolean& shouldLogException)
at Microsoft.CommerceServer.Internal.ExceptionSerializer.TrySerializeToSoapException(SerializableExceptionInfo[] exceptionInfoList, Exception exceptionToSerialize, Boolean& shouldLogException)
at Microsoft.CommerceServer.Marketing.WebService.MarketingWebService.PropagateOrLogExceptionInternal(Exception except)
at Microsoft.CommerceServer.Marketing.WebService.MarketingWebService.PropagateOrLogException(Exception except)
at Microsoft.CommerceServer.Marketing.WebService.MarketingWebService.RefreshCache(String cacheName) --- End of inner exception stack trace --- at Microsoft.CommerceServer.ServiceAgent.TryHandleWebMethodException(Exception ex, SoapHttpClientProtocol serviceProxy)
at Microsoft.CommerceServer.Internal.Marketing.MarketingServiceProxy.AuthorizedInvoke(String methodName, Object[] parameters)
at Microsoft.CommerceServer.Internal.Marketing.MarketingServiceProxy.RefreshCache(String cacheName)
at Microsoft.CommerceServer.Internal.Marketing.AgentMarketingSystemImpl.RefreshCache(String cacheName)
at Microsoft.CommerceServer.Marketing.MarketingServices.DoRefreshCache(String cacheName)
at Microsoft.CommerceServer.Marketing.MarketingContext.RefreshCache(String cacheName)
at Microsoft.CommerceServer.Marketing.MarketingContext.RefreshAllMarketingCaches()
at Microsoft.CommerceServer.UI.MarketingManager.PrimaryController.RefreshSiteCache()
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

↑ Back to the top


Cause

This problem occurs because the SiteCacheRefresh.axd HTTP handler is generated by using port 80 instead of by using port 443.

↑ Back to the top


Resolution

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site: Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

There are no prerequisites to apply this hotfix.

Restart requirement

You must restart Internet Information Services (IIS) after you apply this hotfix. To restart IIS, run the following command at a command prompt:
iisreset /restart

Hotfix replacement information

This hotfix does not replace any other software updates.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Collapse this tableExpand this table
File nameFile versionFile sizeDateTime
Microsoft.commerceserver.shared.dll 6.0.4013.0222,600 21-May-200722:11

↑ Back to the top


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


More information

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

Note Commerce Server 2007 always uses Secure Sockets Layer (SSL) to call the SiteCacheRefresh method if the Commerce Server application uses HTTPS.

To make the Commerce Server application use HTTP instead of HTTPS, apply this hotfix. Then, set the value of the AlwaysRefreshURLWithHTTP registry entry to 1. Follow these steps, and then quit Registry Editor:
  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the following key in the registry:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Commerce Server 2007\CacheRefreshMode
  3. On the Edit menu, point to New, and then click DWORD.
  4. Type AlwaysRefreshURLWithHTTP, and then press ENTER.
  5. On the Edit menu, click Modify.
  6. Type 1, and then click OK.
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684� Description of the standard terminology that is used to describe Microsoft software updates

↑ Back to the top


Keywords: KB937749, kbhotfixserver, kbqfe, kbpubtypekc, kbautohotfix

↑ Back to the top

Article Info
Article ID : 937749
Revision : 3
Created on : 11/15/2007
Published on : 11/15/2007
Exists online : False
Views : 435