I see a lot of questions from our customers about not being able to connect to the new FP1 Discount and Catalog Manager applications. Following are 4 steps you can follow to help troubleshoot when you receive an error stating that your Web Service is unavailable (when it really is).
· Step 1. Access the Web service URL
· Step 2. Set CustomErrors in the Web.config file
· Step 3. Check the client Event log
· Step 4. Check Server authentication settings
Step 1. Access the Web service URL
The first step is to attempt to access the Web service URL that failed.
1. In Internet Explorer, type the URL in the address bar: For example, for the Catalog Web service type: http://localhost/CatalogWebService/CatalogWebService.asmx.
· For the Marketing Web service replace CatalogWebService with MarketingWebService.
If the URL is correct, and the Web service is available, the Catalog Web service screen appears.
2. In the CatalogWebService screen, click the GetServiceVersion link.
3. In the GetServiceVersion screen, click Invoke.
If you receive an exception, such as "SoapException" in Internet Explorer, it is an indication that there is a problem on the server. However, there are no error details describing the problem.
You can use the following two options to troubleshoot this error:
a. Check the Event log of the Server computer for errors logged by the Web service.
b. Change the CustomErrors setting in the Web.config file.
You send more exception details to the client server by changing the CustomErrors setting.
Step 2. Set CustomErrors in the Web.config file
If the CustomErrors setting in the Web.config file on your Web server is set to "On", the error details do not propagate to the client server. The default setting is "RemoteOnly". The "RemoteOnly" CustomErrors setting allows you to see the error if the client is on a local computer, but not when you are accessing the Web service remotely.
· If you are accessing the Web service from your local computer, in the Web.config file, in the Custom Error Messages section, set CustomErrors to RemoteOnly.
· If you are accessing the Web service from a remote computer, set CustomErrors to Off.
Now you will receive additional information in Internet Explorer about the actual cause of the problem.
Step 3. Check the client Event log
Check the client Event log for application connection errors.
Step 4. Check Server authentication settings
There are also connection problems that can be due to authentication problems. To check the server authentication settings, do the following:
1. On the server computer launch inetmgr from the command line.
2. Browse to the virtual directory of the Web service that is failing, right click the Web service, and then click Properties.
3. In the <Web service name> Properties dialog box, on the Directory Security tab, click Edit.
4. In the Authentication Methods dialog box, verify that Enable anonymous access is unchecked.
5. In the Authenticated access section, select the authentication method you want to use.
Integrated Windows authentication is the recommended setting. However, Digest authentication or Basic authentication when used in conjunction with Secure Sockets Layer (SSL) is supported.
The following Note appears in the Commerce Server 2002 dcoumentation regarding Discount awards.
Note When using the Catalog Expression Builder in Commerce Server 2002, both AND and OR cumulative conditions are allowed, but only the OR condition is supported for discounts. The AND condition is not supported and should not be used.
It has become painfully obvious that this note needs some clarification:
The limitation in the note has to do with using AND in the catalog expression for a discount. Since the expressions are evaluated against one line item at a time, it is not possible to use compound conditions; they will never evaluate to true. For example: Buy a product where SKU=A and SKU=B -> get discount will never evaluate to true against any line item since a product can only have one SKU. It is perfectly valid to use AND when more than once criteria exists for the same product. For example: Buy a product where Manufacturer=Sony and Price>$200 -> get discount. Note that ‘OR’ doesn’t present a problem - Buy a product where SKU=A or SKU=B -> get discount (where either SKU is a valid condition for the discount).