Commerce Server Blog

Build world class ecommerce applications using Microsoft Commerce Server
  •  
  • Home
  • About
  • Advertise
  • Copyright Policy
  • Disclaimer

Troubleshoot: Commerce Server Web service Timeout

ravikanth | October 28, 2009

All of the sudden my commerce server business application stops working (already logged in). When I checked the event log, I found timeout exception as shown below.

WebException.Status=Timeout
System.Net.WebException: The operation has timed out
   at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
   at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Microsoft.CommerceServer.Catalog.WebService.Proxies.CatalogWebService.AuthorizedInvoke(String methodName, Object[] parameters)
   at Microsoft.CommerceServer.Catalog.WebService.Proxies.CatalogWebService.GetProduct(String catalogName, String productId, String language, ProductConfiguration config)
   at Microsoft.CommerceServer.Catalog.Product.Get(CatalogContext catalogContext, String catalogName, String productId, String language, ProductConfiguration config, Nullable`1 isVirtualCatalog, String productIdentifyingProperty, String variantIdentifyingProperty, Nullable`1 validateLanguage) 

Since my environment is shared with other developers, I thought the error is due to some configuration changes. Any such errors, I will follow below checklist.

  • Check whether the web services are working properly. If the web services opens then there is no problem in IIS.
  • Check whether you have proper privileges in authorization store.
  • Check connections strings are properly set.
  • Check SQL server is running and the access account has proper privileges to all the databases.

Luckily I found that my web services are not working. When I close my application and open again, I found below error.

image

I tried to open the URL in the browser and the error is the same. Wired error and I fixed this issue just by restarting IIS.

Comments
No Comments »
Categories
Troubleshoot, commerce server 2007
Comments rss Comments rss
Trackback Trackback

Tasks to view Commerce Server Reports

ravikanth | October 25, 2009

Out of box, Commerce server provides 34 reports and you need SQL server reporting services to view them. After installing commerce server, we can find these reports in RDLs folder in commerce server installed directory (eg. C:\Program Files\Microsoft Commerce Server 2007\RDLs). They are seven types of reports available.

  1. Advertising reports: These reports helps us to analyze advertising data such as Ad reach and frequency by advertiser/date, Campaign event/item summary.
  2. Diagnostic reports: These reports helps us to analyze application diagnostic data such as bandwidth trends/summary, HTTP & win32 problems.
  3. Product sales: These reports helps us to analyze product sales data such as Buyer browse to purchase, customer sales, order events, product sales and shopping basket events.
  4. Query string: These reports helps us to analyze single value and multiple value send through url query string.
  5. User reports: These reports helps us to analyze entire user data. Reports include distinct users by time, new registered users, registered user properties, registered users by date registered, user days to register, use registration rate, user trends.
  6. Visit reports: These reports helps us to analyze visits data such as exit pages, user visit trends and general activity statistics.
  7. Web usage reports : These reports helps us to analyze site usage (similar but not same as web trends / Google analytics). Reports include activity by browser, directories, entry path analysis, top referring domains by request, top requested pages, usage summary by hour/day and usage trends.

By installing commerce server you will not able to see reports. For viewing them you have to following below steps.

  1. Adding data warehouse application to your commerce site – you can achieve this by importing DW.PUB file.
  2. Defining DTS import packages using Data warehouse import wizard.
  3. Manually/schedule a DTS import package.
  4. Install and running the analytical reports (you can ReportInstaller.exe tool from SQL Server command prompt).

I will blog in detail steps in coming days on how to achieve this?

Comments
No Comments »
Categories
Commerce Server 2009, commerce server 2007
Comments rss Comments rss
Trackback Trackback

Catalog Search – Ascending on first property and descending on second property

ravikanth | October 21, 2009

Today I saw a forum post stating how can we achieve catalog search which has different sorting options on different properties, i.e., the user wants to have ascending order on one property and descending on second property at one shot. At the beginning I thought commerce server doesn’t support this feature but it does support with searchOptions (thanks for Gael). Commerce Server provides SearchOptions by which we can get search narrow down results (i.e, we can select the properties you want to return, number of rows, sort either descending or ascending, etc) in a single call.

Through SortProperty we can pass the properties name and order and make sure you keep property in [] braces. If you miss braces then you will receive “Search Failed” error. Here is the example where I am trying to fetch all products where the list price is greater than 10$ and the sorting on category name (desc), productId (asc) and variantId (desc). 

CatalogContext context = CommerceContext.Current.CatalogSystem;
// Search the catalog.
// Create the search options.
CatalogSearchOptions searchOptions = new CatalogSearchOptions();
searchOptions.PropertiesToReturn = "CategoryName, DefinitionName, i_classtype, ProductId, VariantId, DisplayName";
searchOptions.SortProperty = "[CategoryName]DESC, [ProductId]ASC, [VariantId]DESC";
CatalogSearch catalogSearch = context.GetCatalogSearch();

// Specify the catalogs to search.
// This is a comma-separated list of catalogs to search,
// for example, "Catalog1,catalog2".
catalogSearch.CatalogNames = "Adventure Works Catalog";

// Return all items with price greater than $10.00.
catalogSearch.SqlWhereClause = "cy_list_price>10";

catalogSearch.SearchOptions = searchOptions;

// Perform the search.
int totalRecords = 0;
CatalogItemsDataSet catalogItems = catalogSearch.Search(out totalRecords);
results.DataSource = catalogItems.Tables[0];
results.DataBind();

Comments
2 Comments »
Categories
commerce server 2007
Comments rss Comments rss
Trackback Trackback

Troubleshoot: Code 3005 in Profiles.ProfileContext

ravikanth | October 21, 2009

Some times, when you try to load the Commerce Site you  may receive an ASP.Net Warning followed by Commerce Server Error 3005. The Commerce Server Error (below) didn’t really gave me much to start with. but ASP.Net Warning shows that the error has happened at commerce server profiles:

 

Here is ASP.NET 2.0 Warning Information

Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 10/19/2009 3:36:38 PM
Event time (UTC): 10/19/2009 10:36:38 PM
Event ID: 6f6751d3aeab44c99df3624cfa784138
Event sequence: 8
Event occurrence: 7
Event detail code: 0
Application information: 
    Application domain: /LM/w3svc/1/root-1-129001196432722277 
    Trust level: Full 
    Application Virtual Path: / 
    Application Path: C:\inetpub\wwwroot\ 
    Machine name: CSTrainingVPC

Process information: 
    Process ID: 5764 
    Process name: w3wp.exe 
    Account name: CSTrainingVPC\trainer

Exception information: 
    Exception type: COMException 
    Exception message: Unspecified error
Request information: 
    Request URL: http://localhost/Error.aspx
    Request path: /Error.aspx 
    User host address: 127.0.0.1 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: CSTrainingVPC\trainer

Thread information: 
    Thread ID: 1 
    Thread account name:  CSTrainingVPC\trainer
    Is impersonating: False 
    Stack trace:    at Microsoft.CommerceServer.Interop.Profiles.ProfileServiceClass.Initialize(String sConfigStore, String sCatalog)
   at Microsoft.CommerceServer.Runtime.Profiles.ProfileContext..ctor(String profileServiceConnectionString, String providerConnectionString, String bdaoConnectionString, DebugContext debugContext)

Here is Commerce Server Error

The description for Event ID ( 16389 ) in Source ( Commerce Server ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: .

Using Commerce Server Manager I double checked and found that the connections to the database are correct, and that the application pool is running under an identity which has access to the database. 

After some investigation what I found is – If you are accessing the “Internal” site using Windows Authentication, then your user account needs access to the CS databases. When I gave SQL permission to the windows account, the error is fixed. The approach you should take is to create an Active directory group for CS users, and grant it the same SQL permissions as the CSRunTime user according to the CS deployment document. The “External” site, with anonymous access, will use the App Pool account (e.g. CSRunTime) for SQL DB access.  If you are attempting to access the external site, be sure to validate CSRunTime has the correct SQL DB access per the CS deployment document.

Comments
1 Comment »
Categories
commerce server 2007
Comments rss Comments rss
Trackback Trackback

Ecommerce Effort Estimation

ravikanth | October 13, 2009

Software development effort estimation is a process of predicting most realistic efforts required to develop a product/application. The effort estimation can be passed as inputs to find schedule, budget, team structure, etc. You can opt bottom-up or top-down estimation model or function point or use case analysis estimations but finally by doing this exercise, we are coming to some realistic figures (not exact) which drives the decision of taking the project or not or negotiating scope reduction with client as per limited schedule, effort or cost. For past few years, I have been doing many projects effort estimation. In this blog post, I am trying to record few dev. units (but not limited to) to give more concentration while doing effort estimation. Trust me, all project estimates are different (some fools think all projects are same) but few of the components can be consider as same. Ecommerce application development is so volatile and difficult as client wants or expects something different than their competitors so that they can retain or get customers.

Some of the key dev. units, where efforts will be more (than expected) a special consideration to be taken in ecommerce application effort estimation.

  • Efforts to incorporate Application blocks like security (Authentication & Authorization), data access, logging, exception handling, etc.
  • Integration entities
    • Payment
    • Tax
    • backend systems like ERP, CRM, etc.
  • Browser support
  • Performance Testing
  • Usability testing
  • Data cleaning and porting.
  • Image and flash/silver light objects creation
  • Capacity Planning
  • Warranty support
  • Knowledge transfer from business analytics to developers to support engineers.
  • Workflows (post order processing)
  • Prototyping
  • Reports & Site Analytics

If your company has any metrics then start comparing the actual efforts with these dev. units mentioned above and for most of them actual effort will exceed than planned effort.Client will not agree if you estimate more hours to these items but at the end due to external dependencies we will end up loosing schedule if not effort.

As per my knowledge & experience here are the top 10 risks any ecommerce project has and as a project manager a special attention has to be taken to mitigate them.

  1. Development schedule.
  2. Infrastructure related risks (as commerce server application interacts with different third party or backend systems).
  3. Resource Utilization (productivity).
  4. Resource Availability (As commerce server is a niche skill – it is difficult to get experience resource availability as per delivery schedule).
  5. Planning and monitoring (many teams, many communications and difficult for PM to manager and monitor the project).
  6. Requirements & Scope Stability
  7. Staffing Level in Key Areas (many companies follow a specific pyramid and sometimes it may not work).
  8. Team sprit & motivation.
  9. Resource ramp-up time & Knowledge transfer.
  10. Internal company policies  (for port enablement – 2 days, security approval – 3 days, etc).

If you have any questions or suggestions, drop me an email – kanth@ravikanth.net. In future, I will be sharing some of the commerce server specific estimation techniques.

Comments
1 Comment »
Categories
Commerce Server 2009
Tags
ecommerce estimation, Estimation
Comments rss Comments rss
Trackback Trackback

« Previous Entries

Sign up for Newsletter


Categories

Quiz

  • Catalog Quiz for Beginners
  • Profile Quiz for Beginners
  • Quiz 1 for Advance Users
  • Quiz for Beginners

Recent Posts

  • Configuration Error: Could not load type ‘Microsoft.Commerce.Providers.SharePointCommerceOrderModule from assembly because the parent type is sealed
  • How commerce server Site Terms are stored
  • Troubleshoot: An unexpected error has occurred.
  • Design consideration for developing commerce server catalog system
  • Troubleshoot: AuthManager(CommerceServer): Error reading Commerce Server administration database
  • Account Creation Approval Process
  • Troubleshoot: Unauthorized exception when the new user tries to access MyAccount page
  • Microsoft Commerce Server 2009 code name "R2" – January 2010 Community Technical Preview
  • Merchant Access to Catalog Manager
  • Commerce Server 2009 December VPC ready for download

Archives

  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008

Tags

add discounts add images to profile Advantages of commerce server approve discounts authentication auto login process automatic user creation basket Brand Management business tools campaign management Catalog catalog import Category CategoryConfiguration cc_number checkout commerce 7 commerce server commerce server 2002 commerce server 2007 commerce server 2007 Display Types Commerce Server SP2 discounts ecommerce Estimation inventory Kanth Koppala marketing system migration error Mojave Product profile profile subsystem property metadata purchase order quick checkout Ravi Ravi Kanth site cache refresh starter site tools transactions error Variant
(c) 2009 Commerce Server Blog. All rights Reserved. Articles cannot be reproduced without permission from the author.Write to me at kanth@ravikanth.net if you have any comments, questions, suggestions about this site or would like to send us a tip
About Us | Terms of Use | Disclaimer | Advertise .