We have a site that is due to go live later this week. It works fine on
the
development machine (Win2k3, SQL2000 SP3a and CS2002 FP1). But when we
installed it on the production server (fresh install of the same stuff) it
breaks down when we try to do the Basket.SaveAsOrder() function. The
order
is saved into the order tables (OrderGroup, OrderFormHeader,
OrderFormLineItems and OrderGroupAddresses) and it looks OK. The
PurchaseOrder object is created with a valid TrackingNumber property, but
when we try to access any other properties of the object (the one we look
for
straight away is the OrderForms collection) it throws an Object Reference
not
set error and bombs. The same thing happens if we try to do a
PurchaseOrder.Save().
The site was built on a standard library that we have used for multiple
other sites running on Windows 2003. The library was based on the MSIB
"best
practices" code, which was supplied by Microsoft last Autumn.
The site on the production server was created from a pup built on the
development server.
The same error occurs on another machine (also Win2k3, and on my
development
machine, which is Windows 2000, but still CSFP1.
There are two things we think it could be, but we're not really sure how
to
check them or whether they might be the cause (we don't want to spend a
day
rebuilding the machine if that's not the problem!)
- the machine which has a working site does not have the KB885835 or
KB885836 hotfixes on it. All the other machines do. We have found a few
issues on the web with this hotfix breaking servers, but none of them
relate
to Commerce Server. I have uninstalled the KB885835 from my Windows 2000
machine, but it didn't make any difference. This KB apparently messes
with
the Windows Kernal, so I am a bit unsure about removing it from the
product
server...
- When we create a pup file on the working machine, we can't then unpup
the
site application to any other machines. The pup runs and creates the site
in
commerce server and the bizdesk, but fails when creating the application
which is the site itself. It appears to write the directory to the
inetpub\wwwroot directory, then fail with a permissions problem when it
tries
to create the application. So to create the site application we have to
add
an application from the CSharp pup, then copy our files over the top. I
can't see why this would cause the SaveAsOrder function not to work, but
this
is the only other difference (that we can think of) between the machines.
On
both machines that don't work the site was created using this method.
So the question really is this:
Does anything in this sound like it could be causing a CS object to fail
when the database looks healthy? Could it be the KB hotfix which as
screwed
something up in the Windows/Commerce Server level? Or could it be
something
in the code which only manifests itself on certain machines?


|