05-09-07 12:19 PM
Hi,
We have a very annoying random MS DTC problem in our Commerce Server
2007 setup.
Our application consists of two web servers and a database server in a
workgroup environment (I would rather have had AD domain but this is
not possible).
MS DTC is configured on all servers, using Component Services plugin,
to allow all types of transactions (inbound/outbound, remote clients,
remote adm, TIP and XA) with "No Authentication" (on the Security
Configuration of the MS DTC). On default protocols we have specified
that only ports 5100-5200 may bve used. On default properties, DCOM is
enabled (but not internet DCOM) with None for authentication level and
Identify for Impersonation level.
Commerce Server primarily uses MS DTC for Basket.SaveAsOrder and on
average 9 out of 10 calls work fine. However, occasionally the
SaveAsOrder call to Commerce API (and the transacted pipeline it uses)
will fail with the message:
The transaction has already been implicitly or explicitly comitted or
aborted (Exception from HRESULT: 0x8004D00E)
The only hint we can find is a couple of strange warnings in the
Security event log that always occur when then transaction fails:
ENTRY #1:
Event Type: Failure Audit
Event Source: Security
Event Category: Account Logon
Event ID: 680
Date: 09-05-2007
Time: 10:47:49
User: NT AUTHORITY\SYSTEM
Computer: INTVM10
Description:
Logon attempt by: MICROSOFT_AUTHENTICATION_PACKAGE_V1_
0
Logon account: INTVM15$
Source Workstation: INTVM15
Error Code: 0xC0000064
ENTRY #2:
Event Type: Failure Audit
Event Source: Security
Event Category: Logon/Logoff
Event ID: 529
Date: 09-05-2007
Time: 10:47:49
User: NT AUTHORITY\SYSTEM
Computer: INTVM10
Description:
Logon Failure:
Reason: Unknown user name or bad password
User Name: INTVM15$
Domain: WORKGROUP
Logon Type: 3
Logon Process: NtLmSsp
Authentication Package: NTLM
Workstation Name: INTVM15
Caller User Name: -
Caller Domain: -
Caller Logon ID: -
Caller Process ID: -
Transited Services: -
Source Network Address: 172.19.50.125
Source Port: 2532
These events seem to indicate that the DB server (INTVM15) is not
allowed to reply with the transactional outcome - but I do not
understand why (as it only happens sometimes) and I wonder why it is
using port 2532 when we have specified port range 5100-5200 on all
servers...
Any help would be appreciated as we are in the final stages of
acceptance testing our application...
Regards,
Lasse Poulsen
[ Post a follow-up to this message ]
|