What’s New

Last week was wonderful where most of my time was spent on one of the production issue which is occurring frequently and as usual, we don’t know the symptoms on which conditions to reproduce the issue. To mimic the issue, we have created a performance test which does basic operation, i.e., open the application URL and perform sign-in and sign-out (windows live ID) and luckily we are able to reproduce it. This errors (as shown below)  is coming when the application sees more concurrent users.

Post ticket time window expired.  Ticket could be reposted
(or)
HTTP body is required to authenticate. Application should call the API again with http body.

 

Strange thing is that everything is working fine if the load is less than 145 concurrent users but if load is more than 145, all test cases (from starting) fails. We are using RPS 5.5 for live authentication integration. I read from one article that this is known issue in RSP 5.5 and to fix this either we have to migrate our software to RPS (Windows live services) 6.0 or we need to capture the exception, call silentauth url to get the ticket again. I tried both approaches but no luck – none of them working (I also fine tuned my application, thinking that my application is failing during loads).

Finally, I am able to figure out the issue.  The error "Post ticket time window expired.  Ticket could be reposted" indicates the users ticket is no longer valid.  RPS uses POST TICKET TIME WINDOW to prevent Compact Tickets from being accepted if the difference between Compact Ticket "IssueInstant" and server’s Now() time is more than an amount that you specified in RPSServer.xml.
If it is less, then Compact Ticket is accepted. If it is more, then RPS throws PP_E_RPS_REASON_POST_TICKET_TIMEWINDOW_EXPIRED.

The default value for PostTicketTimeWindow is 300 seconds (5 minutes). This is configurable in the RPSServer.xml (which is actual fix). Apart from this, I have catch this error in the code and redirect the user to the Silent Auth URL to refresh the ticket. Sending the user to the Silent Auth URL with a different CT value (current time – matching your servers time), the login server will issue a new compact ticket. Finally I issue the fixed.

Related Articles


If you like this post, please click on our sponsor advertisement.


I am pleased to announce that today Microsoft has renewed by Most Valuable Professional (MVP) status in commerce server.

This MVP award is given in recognition of a recipient’s technical expertise, spirit of community, and willingness to help peers by providing reliable and accurate information on commerce server technologies. For past one year, I am active contributing to the commerce server community. In addition, I am blogger and also assists individuals & companies with commerce server architectural advice and guidance.

This award has given me an opportunity and motivation to continue the support to the community. Thanks Microsoft CS team (Kerry, Wayne smith, etc) & MVP India team (Abhishek Kant) by providing necessary support.

Microsoft has blogged my MVP renewal
http://blogs.msdn.com/b/commerce/archive/2010/10/01/ravi-kanth-receives-his-third-microsoft-commerce-server-mvp-renewal.aspx

Related Articles


If you like this post, please click on our sponsor advertisement.


After getting latest code from TFS, I compiled and installed the latest build assemblies in GAC and from then my commerce server application stopped working. I was getting error “Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information”. The stack trace is shown below.
      

[ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.]

   System.Reflection.Module._GetTypesInternal(StackCrawlMark& stackMark) +0

   System.Reflection.Assembly.GetTypes() +205

   Microsoft.CommerceServer.Internal.Orders.Storage.SchemaMapping.LoadAssemblies(TypeDefinition[] typeDefs, MappingResults results) +6473

   Microsoft.CommerceServer.Internal.Orders.Storage.SchemaMapping.ReadMapping(Stream stream, TypeDefinition[] typeDefinitions, MappingResults& outResults) +191

   Microsoft.CommerceServer.Internal.Orders.Storage.SchemaMapping.ReadMapping(String filename, TypeDefinition[] typeDefinitions, MappingResults& outResults) +433

   Microsoft.CommerceServer.Runtime.Orders.OrderContext.CreateSchemaAndPipelineMapping(SchemaMapping& schemaMapping, PipelineAdapter& pipelineAdapter, String appRootPath, CommerceOrdersConfiguration ordersConfiguration) +164

   Microsoft.CommerceServer.Runtime.Orders.OrderContext.Initialize(String transactionResourceConnectionString, String transactionConfigResourceConnectionString) +321

   Microsoft.CommerceServer.Runtime.Orders.OrderContext.Create(String transactionResourceConnectionString, String transactionConfigResourceConnectionString) +161

   Microsoft.CommerceServer.Runtime.Orders.CommerceOrderModule.CreateOrderContext() +90

   Microsoft.CommerceServer.Runtime.Orders.CommerceOrderModule.get_OrderContext() +138

   Microsoft.CommerceServer.Runtime.Orders.CommerceOrderModule.OnBeginRequest(Object sender, EventArgs e) +24

   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80

   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171

  

By seeing the stack trace, we can easily figured out that this error is commerce server (Microsoft.CommerceServer.Runtime) and it may not able to load the assemblies mentioned in the types section in web.config file but the assemblies (runtime and custom assemblies) are already exist in GAC. I binged, but not able to find concrete solution as this error is not specific to commerce server. I checked commerce server web services and found they are working fine and came to narrow conclusion that this error is due to some of the application code (not Commerce server assemblies).

Finally, I uninstall all application assemblies from GAC, does fresh compilation (rebuild) and put the new assemblies in GAC which has fixed this error (I have done machine restart due to some other issue).  This looks strange but I felt that one of the assembly might of not compiled properly nor got register in GAC properly which has triggered this error.  So, if you are getting same error in commerce then do the same way and hopes this will fix the issue.

Related Articles


If you like this post, please click on our sponsor advertisement.


Last week, Microsoft has released updated commerce server 2009 template pack for SharePoint 2007. This kit includes contemporary shopping Web site’s web parts and controllers source code, providing flexibility to the developers to extend out of box web sites to meet their needs. Here are the few updates to the template pack.

  • Setup_ExtensKit.exe includes the source code for the associated Web Parts in an extensibility kit. You can use Visual Studio 2008 to develop with the extensibility kit and customize the contemporary shopping Web site. Please see Extensibility_Kit_for_CS2009_Template_Pack_for_2007.doc for more details.
  • Additional details have been added to the section “Using the Correct Login Page” in the file CS09TemplatePackGuide.doc.

Note: To use the Template Pack you require Commerce Server 2009 installed and configured, including the Default Site in Windows SharePoint Server 3.0 (WSS) or Microsoft Office SharePoint Server 2007 (MOSS).

Click here to download the extensibility kit.

If you are not aware of how to extend extensibility kit then my recommendation is to go through below blog url.

http://blogs.msdn.com/b/commerce/archive/2010/04/21/using-microsoft-commerce-server-2009-web-part-extensibility-kit-for-sharepoint-2007-effectively.aspx

Related Articles


If you like this post, please click on our sponsor advertisement.


By default, when you install commerce server 2009, a help document (CHM) is created in your local machine. This document has lot of useful information on CS2009/CS2007. One of the disadvantage of this is that you can’t move this document to another machine. Finbar Ryan (MS CS support team) has created a CHM file using PackageThis tool. I thought of sharing the same to the commerce community so that people can start learning commerce server without installing the software. Thanks Finbar for sharing this document to the community. Click below icon to download the file.

 

image

image

Related Articles


If you like this post, please click on our sponsor advertisement.


Follow me on Google+
Couldn't get data from google+
Sign up for Newsletter