Microsoft KB Archive/937749

From BetaArchive Wiki

Article ID: 937749

Article Last Modified on 11/15/2007



APPLIES TO

  • Microsoft Commerce Server 2007 Developer Edition
  • Microsoft Commerce Server 2007 Enterprise Edition
  • Microsoft Commerce Server 2007 Standard Edition



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 Description of the Microsoft Windows registry


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:
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.


CAUSE

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

RESOLUTION

Hotfix information

A supported hotfix is now 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 service pack that contains this hotfix.

To resolve this problem, submit a request to Microsoft Online Customer Services to obtain the hotfix. To submit an online request to obtain the hotfix, visit the following Microsoft Web site:

Note If additional issues occur or 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. To create a separate service request, visit the following Microsoft Web site:

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.

File name File version File size Date Time
Microsoft.commerceserver.shared.dll 6.0.4013.0 222,600 21-May-2007 22:11


STATUS

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

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



Additional query words: SiteCacheRefresh

Keywords: kbpubtypekc kbqfe kbhotfixserver KB937749