Archive for April 2010
This is continuing to my previous post http://microsoftblog.co.in/commerceserver/check-for-sharepoint-infrastructure-update-failed/
Some times, while executing SharePoint commerce services configuration wizard, you may received “Share Point Admin Service” failure message (as shown below) and the tool will not allow you to proceed further (next button is disabled).
The solution is pretty simple.
- Start -> run and type “services.msc” and press enter key (services window opens).
- Start “Window SharePoint Service Administration” service (if it is already starter, restart it once again)
That’s it, if you run SharePoint commerce services configuration wizard again, you don’t see this error.
If you like this post, please click on our sponsor advertisement.
I faced a strange issue during commerce site unpacking in test environment. The site packager shows the following error.
and the same error is logged in pub.log file – “Unable to access IIS. Either it is not installed, not running, or the user does not have sufficient priviledges”
I’m running as an Administrator on the box. I believe it is due to specific sites in IIS. I removing all the sites from IIS and when re-running the site packager, I am able to install the commerce server site without issue. Removing my existing IIS sites will work fine in local machines but will not work if we try to do the same in preproduction or production machines. This has triggered me back to do research on this issue.
I binged/googled, but the solutions I find online will not solve the problem. After investigation, I found that commerce server site packaging tool is parsing all web sites one by one before installing the site. Some where the tool fails to ready IIS metadata and start throwing the error. I found that it is happening if the server has any websites which are running on https (i.e., certificates installed). I am able to figure out the fix for this issue and the fix is assigning port 80 (with different host headers) to all the websites which uses https. After doing this change, the packager/CS 2009 site wizard is working fine. I following below approach in production environment (which may or may not work for you).
- Create port 80 binding (with different headers) to all websites where Https is used.
- Create the commerce site.
- Once our site started working, remove the bindings we have created from the websites.
Not sure whether there is any other better approaches available but this procedure has fixed my problem.
If you like this post, please click on our sponsor advertisement.
One of my fellow project team members have faced very strange problem. Whenever they are executing basket update/performing checkout the total pipeline is not called but surprisingly basket and checkout pipeline is called resulting the total always be at zero. I followed below steps to cross check whether all settings are correct.
- Settings in web.config and channel confirmation are properly set.
- Enable pipeline logging (under the logs directory, I can able to see values in other log files but not in total log file).
Thought of environment issue, started checking the problem in other development machines. Then we moved the sequence of pipelines like commenting basket pipeline or keeping only total pipeline to execute (if frustration comes, man doesn’t know what is doing) but no luck, total pipeline is not executed. Finally I have decided to check what is happening in CS2009 assemblies. With the help of reflector tool, I start going through the commerce server methods and found the root cause for the problem.
Total pipeline is executed only if the basket status is “ReadyForCheckout” and line items shipmentmethodIDs doesn’t have empty GUID. Unfortunately for the application we don’t have shipment methods so if condition never is true and total pipeline never executes.
The temporary fix is change the below setting
<Pipeline name=”total” type=”Total” />
To
<Pipeline name=”total” type=”Custom” />
After that the total pipeline is executed without any problem. Now I started thinking why Microsoft has kept this condition. I feel, the application will gain performance by not calling Total pipeline in initial stages and only be called once basket status is set to “ReadyForCheckout” and shipping details are added but MS team forgot that few of the projects doesn’t use shipping methods.
If you like this post, please click on our sponsor advertisement.
Working in SharePoint is very interesting and challenging. Sometimes we end up doing only application configuration (setting up the application ready for development) rather than delivering the functionality. In recent days, I have faced similar problem. I was working on commerce server extended SharePoint kit and changes done to the kit need to be deployed the assemblies in GAC. If I missed redeployed, I am not able to test the code functionality.
I have developed a small and tiny utility to deploy updated assemblies (dll) very easily into GAC. It is simple but cumulatively it has saved lot of time. Here is the screenshot of the tool.
Click here to download
In order to make this tool work, we have to set three values in configuration file.
- assemblyPath –the path of assembly (by default it will be c:\windows\assembly).
- dllPath – your application bin folder.
- gacUtilPath – GAC Utility path – c:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\Gacutil.exe
That’s all, the tool is ready for usage. Drop me an email if you have any issues with this tool.
If you like this post, please click on our sponsor advertisement.
