Error 0x80004005 "The Marshall Field May Be Corrupted" When User Leaves Address Name Blank (278761)



The information in this article applies to:

  • Microsoft Commerce Server 2002
  • Microsoft Commerce Server 2000

This article was previously published under Q278761

SYMPTOMS

If a user creates an address and leaves the address name blank, the following error is generated on every page that the basket is loaded:
Error Type:
Commerce.DBStorage (0x80004005)
DBStorage failed to load marshall field. The marshall field may be corrupted.
IPersistXML: Error parsing XML. Line 28, position 18.
Error code: 0X80004005.
Description: "Unspecified error".
Error occurred in XML stream near:
'<DICTITEM key=""><VALUE dt:dt="object"
dt:classid="classid:B7990D09-45FD-11D0-8176-00A0C90A90C7">'
/ordersitelet/include/orderlib.asp, line 96

CAUSE

This error occurs because Commerce Server cannot parse the XML-marshalled dictionary when the dictionary key (address name) is empty.

RESOLUTION

To resolve this problem, delete the row from the BasketGroup table for the user. To do this, use the Basket Manager in the Commerce Server 2000 Business Desk. You must not allow a user to enter an address without an address name.

STATUS

Microsoft has confirmed that this is a problem in Microsoft Commerce Server 2000.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Unpackage the OrderSitelet from the Commerce Server 2000 Software Development Kit (SDK). You can use the Quick unpackage option.
  2. In your browser, browse to the OrderSitelet site.
  3. Click Place an order.
  4. Click Buy Now to add an item to your basket.
  5. On the basket page, click Place My Order.
  6. On the Address page, type an address, but leave the Address Name field blank. Click Add Address. You receive the above-mentioned error message.

Modification Type:MajorLast Reviewed:10/22/2003
Keywords:kbbug kbpending KB278761