Archive for July 2010
Commerce server Message manager provides us to manage localized message handling. We have to follow series of steps to covert the messages to satellite assemblies. So, here are the steps we should follow.
1. Create and modify RC.XML and include your localized text and languages (you can find in %Commerce_Server_Root%\Sdk\Samples\MessageManager folder).
2. Use RCxml2Resx.exe tool to covert RC.XML file into resx file. ( You can find it %Commerce_Server_Root%\Tools folder.) The input for this tool is rc.xml file.
3. Create resources file using Resource File Generator (ResGen.exe).
4. Generate satellite assemblies by using Assembly Linker (Al.exe) command-line tools.
After adding few languages (actually I added 32 languages to the xml file), when I run RCXmlResx.exe file, you can encounter problem and tools exits with an exception (as shown below) and nothing is written in the event log.
I checked many places but the solution is not found. After troubleshooting further, I found this error is due to following mistakes.
- I used wrong locale code . Instead of “<Language Name="en-ZA" Locale="7177" />”, I kept “<Language Name="en-ZA" Locale="71777" />”.
- I have added wrong language locale code (in my instance, I have added “<Language Name="en-AE" Locale="1033" />”).
- If the language value doesn’t exists but a value (message) exists in <Entry> tags.
Note: The messages language value under <Entry> tags need not be in a sequence.
If you like this post, please click on our sponsor advertisement.
Two years back, I have blogged catalog importer, which will help us to import catalog data into commerce server. I have used this tool in many projects and business users like this tool as it uses excel as input parameter. Recently I see in communities asking for user profile import. User profile has some sensitive information (like password, secret question and answer, etc) and we can’t directly insert these data into database as these data should be encrypted using few algorithms (SHA1, SHA256, MD5, etc) before saving into database.
If your requirement is to import all existing user profiles then the good option is to insert data using commerce server API. I created a tool (simple and robust) which will help you to insert user profile (can extend to save address and other profiles) information in commerce server. The tool is very flexible and extensible without touching the code. Input to this tool is the excel file (sample file in data folder) and couple of constraints with this template are.
- The work sheet name should be “UserData”.
- Currently only 5 columns are there but you can extend the list – the column name should be same as commerce server column name. For example, if you want to import telephone number then the column name should be “GeneralInfo.tel_number”.
The code is pretty simple and self explanatory. When you run the tool, you will be prompted for excel file location. After providing the information, the tool loads data into data table and starts inserted data one by one into commerce server. The output of the tool looks like this (I have imported the sample data in the sample template file). Any wrong information in excel will lead to exception.
On successful import, if you query “UserObject” table (or other profile tables), you can find imported data.
Click here to download the tool.
If you like this post, please click on our sponsor advertisement.
Last week, I faced typical issue when we are trying to approve marketing campaign item from Marketing manager. Our data center is in Europe and business team is sitting in USA. They started complaining that they can’t approve the marketing items from their box and in the server we found following exception in event log.
|
An exception occurred in the ‘MarketingWebService’ Web service. Exception details follow: |
Seems to be strange but we found out that this exception is coming only when the business time is less than Europe time. After changing the business user timing from EST to Europe, the business tool started working fine. Root cause is yet to identify but in this post, I would like to convey the remedy to everyone.
If you like this post, please click on our sponsor advertisement.
