Microsoft KB Archive/931290

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Article ID: 931290

Article Last Modified on 8/15/2007



APPLIES TO

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



SYMPTOMS

In Microsoft Commerce Server 2007, you receive error messages when you update the catalog cache or the profile cache from the Catalog Web service and the Profile Web service.

Issue 1

When you click Refresh Site Cache in Catalog Manager or you invoke the RefreshSiteCache method in the Catalog Web service, you may receive an error message that resembles the following:

System.Web.Services.Protocols.SoapException: One or more errors occurred while refreshing the cache 'CatalogCache' of the site 'CSharpSite':

The server 'MyServer' of the application 'OrdersWebService' returned HTTP status code 401 (Unauthorized).  The cache refresh URL used was 'http://MyServer/OrdersWebService/SiteCacheRefresh.axd?CacheToRefresh=CatalogCache'.

See the server event event log for more details. ---> Microsoft.CommerceServer.CacheRefreshFailedException: One or more errors occurred while refreshing the cache 'CatalogCache' of the site 'CSharpSite':

The server 'MyServer' of the application 'OrdersWebService' returned HTTP status code 401 (Unauthorized).  The cache refresh URL used was 'http://MyServer/OrdersWebService/SiteCacheRefresh.axd?CacheToRefresh=CatalogCache'.

See the server event event log for more details.
   at Microsoft.CommerceServer.Runtime.Configuration.CommerceResourceCollection.RefreshCache(String cacheName, CommerceResourceCollection resourceCollection)
   at Microsoft.CommerceServer.Catalog.Internal.CatalogServerContextBase.RefreshSiteCache()
   --- End of inner exception stack trace ---
   at Microsoft.CommerceServer.Catalog.Internal.WebServiceUtility.PropagateOrLogException(Exception except)
   at Microsoft.CommerceServer.Catalog.WebService.CatalogWebService.PropagateOrLogException(Exception except)
   at Microsoft.CommerceServer.Catalog.Internal.CatalogServerContextBase.RefreshSiteCache()
****************************************

When you invoke the RefreshAllProfilesInCache method in the Profile Web service, you may receive an error message that resembles the following:

****************************************
System.Web.Services.Protocols.SoapException: One or more errors occurred while refreshing the cache 'ProfileCache' of the site 'CSharpSite':

The server 'MyServer' of the application 'OrdersWebService' returned HTTP status code 401 (Unauthorized). The cache refresh URL used was 'http://zhejiang/OrdersWebService/SiteCacheRefresh.axd?CacheToRefresh=ProfileCache'.

See the server event event log for more details. ---> Microsoft.CommerceServer.CacheRefreshFailedException: One or more errors occurred while refreshing the cache 'ProfileCache' of the site 'CSharpSite':

The server 'MyServer' of the application 'OrdersWebService' returned HTTP status code 401 (Unauthorized). The cache refresh URL used was 'http://MyServer/OrdersWebService/SiteCacheRefresh.axd?CacheToRefresh=ProfileCache'.

See the server event event log for more details.
at Microsoft.CommerceServer.Runtime.Configuration.CommerceResourceCollection.RefreshCache(String cacheName, CommerceResourceCollection resourceCollection)
at Microsoft.CommerceServer.Profiles.WebService.ProfilesWebService.RefreshAllProfilesInCache()
--- End of inner exception stack trace ---
at Microsoft.CommerceServer.Profiles.WebService.ProfilesWebService.PropagateOrLogExceptionInternal(Exception ex)
at Microsoft.CommerceServer.Profiles.WebService.ProfilesWebService.PropagateOrLogException(Exception ex)
at Microsoft.CommerceServer.Profiles.WebService.ProfilesWebService.RefreshAllProfilesInCache()

Issue 2

When you try to invoke the SiteCacheRefresh method from any business management tool in Commerce Server 2007 Developer Edition, you receive the following error message:

System.Web.Services.Protocols.SoapException: One or more errors occurred while 
refreshing the cache 'CatalogCache' of the site 'CSSiteName':

The server 'ServerName' of the application 'CSSiteNameOrdersWebService' returned HTTP 
status code 503 (Service Unavailable).  The cache refresh URL used was 
'http://ServerName/CSSiteNameOrdersWebService/SiteCacheRefresh.axd?CacheToRefresh=Catal
ogCache'.The server 'ServerName' of the application 'CSSiteName' returned HTTP status 
code 503 (Service Unavailable).  The cache refresh URL used was 
'http://ServerName/CSSiteName/SiteCacheRefresh.axd?CacheToRefresh=CatalogCache'.

See the server event event log for more details. ---> 
Microsoft.CommerceServer.CacheRefreshFailedException: One or more errors occurred 
while refreshing the cache 'CatalogCache' of the site 'CSSiteName':

The server 'ServerName' of the application 'CSSiteNameOrdersWebService' returned HTTP 
status code 503 (Service Unavailable).  The cache refresh URL used was 
'http://ServerName/CSSiteNameOrdersWebService/SiteCacheRefresh.axd?CacheToRefresh=Catal
ogCache'.The server 'ServerName' of the application 'CSSiteName' returned HTTP status 
code 503 (Service Unavailable).  The cache refresh URL used was 
'http://ServerName/CSSiteName/SiteCacheRefresh.axd?CacheToRefresh=CatalogCache'.

See the server event event log for more details.
   at 
Microsoft.CommerceServer.Runtime.Configuration.CommerceResourceCollection.RefreshCac
he(String cacheName, CommerceResourceCollection resourceCollection)
   at 
Microsoft.CommerceServer.Catalog.Internal.CatalogServerContextBase.RefreshSiteCache(
)
   --- End of inner exception stack trace ---
   at 
Microsoft.CommerceServer.Catalog.Internal.WebServiceUtility.PropagateOrLogException(
Exception except)
   at 
Microsoft.CommerceServer.Catalog.WebService.CatalogWebService.PropagateOrLogExceptio
n(Exception except)
   at 
Microsoft.CommerceServer.Catalog.Internal.CatalogServerContextBase.RefreshSiteCache(
)

Note This issue occurs only in Commerce Server 2007 Developer Edition on a Microsoft Windows XP-based computer.

Issue 3

You cannot invoke the SiteCacheRefresh method from the business management tools and from the Staging service when the Commerce site is unpacked to the root folder of a Web site.

Issue 4

The SiteCacheRefresh.axd URL uses the computer NetBIOS name to build a linked URL instead of the nonsecure host name of the Commerce site.

Issue 5

You try to use the SiteCacheRefresh method to update the Commerce Server cache, and the Commerce Server application uses Secure Hypertext Transfer Protocol (HTTPS). In this scenario, the Commerce Server cache may not be updated successfully.

CAUSE

Issue 2

The Commerce Server Health Monitoring service causes the SiteCacheRefresh method not to work on Windows XP.

Note By default, the Commerce Server Health Monitoring service is not installed by Commerce Server 2007 Developer Edition.

Issue 5

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

RESOLUTION

Issue 1

To resolve this issue, follow these steps:

  1. In Windows Explorer, locate the following folder:

    Drive:\Inetpub\wwwroot\OrdersWebService

  2. In a text editor such as Notepad, open the Web.config file.
  3. Locate the following lines of code:

    <location path="SiteCacheRefresh.axd">
            <system.web>
                <authorization>
                    ...
                </authorization>
            </system.web>
    </location>
  4. Between the <authorization></authorization> tags, add the following code example:

    <allow users="<DomainName>\<CatalogWebServiceApplicationPoolIdentityAccount>">
    <allow users="<DomainName>\<ProfileWebServiceApplicationPoolIdentityAccount>">

    Note <DomainName>\<CatalogWebServiceApplicationPoolIdentityAccount> is the domain account that is the Catalog Web service application pool identity. <DomainName>\<ProfileWebServiceApplicationPoolIdentityAccount> is the domain account that is the Profile Web service application pool identity.

Repeat these steps for the Commerce Server 2007 site Web.config file.

Note The Commerce site and every Web service for the site must be in a separate application pool. Additionally, they must use a different account as the application pool identity.

Issue 2

To resolve this issue, disable the Commerce Server Health Monitoring service on the Windows XP-based computer. To do this, follow these steps:

  1. Click Start, click Run, type services.msc, and then click OK.
  2. Right-click Commerce Server Health Monitor, and then click Stop.

Issue 3

To resolve this issue, apply the hotfix package that is described in Microsoft Knowledge Base article 922068. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

922068 FIX: Error messages are logged in the Application log when you unpack a Commerce Server 2007 site to the root folder of the IIS Web site and then you try to access the SiteCacheRefresh.axd URL


Issue 5

To resolve this issue, apply the hotfix package that is described in Microsoft Knowledge Base article 937749. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

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



Additional query words: CS2007 RefreshSiteCache RefreshAllProfilesInCache

Keywords: kberrmsg kbcode kbtshoot kbprb KB931290