<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The dot before the Net : Commerce Server</title><link>http://blogs.msdn.com/sanket/archive/tags/Commerce+Server/default.aspx</link><description>Tags: Commerce Server</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Commerce Server Bloggers from MS Global Services</title><link>http://blogs.msdn.com/sanket/archive/2006/12/09/commerce-server-bloggers-from-ms-global-services.aspx</link><pubDate>Sat, 09 Dec 2006 14:02:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1245262</guid><dc:creator>Sanket Bakshi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sanket/comments/1245262.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sanket/commentrss.aspx?PostID=1245262</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sanket/rsscomments.aspx?PostID=1245262</wfw:comment><description>&lt;p&gt;Amit Agrawal &amp;amp; Sathish CG, the Commerce experts from MGSI, have recently started blogging. &lt;/p&gt;  &lt;p&gt;Now, you can find them posting some cool Commerce Server related stuff on their blogs. &lt;/p&gt;  &lt;p&gt;Amit Agrawal - &lt;a href="http://blogs.msdn.com/amitag"&gt;http://blogs.msdn.com/amitag&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Sathish CG - &lt;a href="http://blogs.msdn.com/sathishcg"&gt;http://blogs.msdn.com/sathishcg&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt; --Sanket&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1245262" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sanket/archive/tags/Commerce+Server/default.aspx">Commerce Server</category></item><item><title>Resolving "Unknown Errors" when working with Commerce Server Profile Adapter</title><link>http://blogs.msdn.com/sanket/archive/2006/12/09/resolving-unknown-errors-when-working-with-commerce-server-profile-adapter.aspx</link><pubDate>Sat, 09 Dec 2006 13:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1245246</guid><dc:creator>Sanket Bakshi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sanket/comments/1245246.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sanket/commentrss.aspx?PostID=1245246</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sanket/rsscomments.aspx?PostID=1245246</wfw:comment><description>&lt;P&gt;Most of the times, when you encounter an error interacting with Commerce Server Profiles Adapter, the Adapter will give you back an error with a proper description of what might've went wrong. However, there are certain cases when the adapter simply emits a warning in the event log that mentions about an error with "&lt;EM&gt;Unknown Error Description&lt;/EM&gt;".&lt;/P&gt;
&lt;P&gt;This one seems quite tough to solve at the first instance, given that we do not have any further information about this. However, most of the times, as I noticed it this is more to do with some missing values in the message or some mis-configured properties on your send port. &lt;/P&gt;
&lt;P&gt;To get the actual description of the error that has occured, you can do the following - &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;On the commerce server, create a new Profiles Webservice by inheriting from &lt;FONT face="Courier New"&gt;Microsoft.CommerceServer.Profiles.WebService.ProfilesWebService&lt;/FONT&gt;.&lt;/LI&gt;
&lt;LI&gt;Now simply override the ImportProfile and UpdateProfile methods and call the base methods in them. &lt;/LI&gt;
&lt;LI&gt;On the Biztalk Server, instead of pointing to the default Commerce Server Profile Webservice, point to your newly created webservice. &lt;/LI&gt;
&lt;LI&gt;Then in this webservice, you can put a break-point and see why it fails. The actual exception information will be provided here for all the "Unknown Error Description" issues. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Once you know the reason, then it would definitely be quite easy to deal with it. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1245246" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sanket/archive/tags/Biztalk/default.aspx">Biztalk</category><category domain="http://blogs.msdn.com/sanket/archive/tags/Commerce+Server/default.aspx">Commerce Server</category></item><item><title>Associating Multiple Credit Cards when creating Commerce Server Profile using the Commerce Server Profile Adapter for BizTalk</title><link>http://blogs.msdn.com/sanket/archive/2006/12/09/associating-multiple-credit-cards-when-creating-commerce-server-profile-using-the-commerce-server-profile-adapter-for-biztalk.aspx</link><pubDate>Sat, 09 Dec 2006 13:44:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1245216</guid><dc:creator>Sanket Bakshi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sanket/comments/1245216.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sanket/commentrss.aspx?PostID=1245216</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sanket/rsscomments.aspx?PostID=1245216</wfw:comment><description>&lt;p&gt;When dealing with Commerce Server integration with BizTalk 2006, one of the requirements that I faced was to create multiple credit cards for a single profile and then link all those credit cards to that profile.    &lt;br /&gt;To achieve this, is a two step process. The first step involves creating the actual credit cards on the Commerce Server. This has to be done by independant calls to the Profile Adapter for each credit card. These calls are made with the "EndPoint Message Type" set as "Import Profiles" on the Send Port (either Static or Dynamic). &lt;/p&gt;  &lt;p&gt;Once all the credit cards are created, then the profile create message needs to have the list of ids for all the credit cards created. These ids are stored in the Commerce Server SQL database in the following format - &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;2;&amp;lt;creditcardid1&amp;gt;;&amp;lt;creditcardid2&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Where the creditcard Ids are nothing but GUIDs corresponding to the keys of the actual credit card objects. &lt;/p&gt;  &lt;p&gt;Now to send it from the Biztalk Adapter, it should be sent as multiple nodes of the &amp;lt;credit_card_list&amp;gt; type. So in the actual profile create request instead of having a list of credit cards separated by a semi-colon (;) (as might seem from the value stored in the database), each individual credit card Id should be sent as a separate node. &lt;/p&gt;  &lt;p&gt;So the create profile request looks similar to this - &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;ProfileDocument&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;UserObject&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;GeneralInfo&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;user_id&amp;gt;fc32ccb8-0672-4457-a99d-6ac01c497912&amp;lt;/user_id&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;user_name&amp;gt;sanket&amp;lt;/user_name&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;email_address&amp;gt;s@b.com&amp;lt;/email_address&amp;gt;&lt;/p&gt;    &lt;p&gt;......&lt;/p&gt;    &lt;p&gt;&amp;lt;credit_card_list&amp;gt;ab3299c1-3d57-44e9-a99d-63451c49340e&amp;lt;/credit_card_list&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;credit_card_list&amp;gt;e40234ed-ab7e-1a5c-a99d-6cbe1c49ba91&amp;lt;/credit_card_list&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;GeneralInfo&amp;gt;&lt;/p&gt;    &lt;p&gt;......................&lt;/p&gt;    &lt;p&gt;&amp;lt;/UserObject&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/ProfileDocument&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt; Hope this helps you save some time when dealing with this feature. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1245216" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sanket/archive/tags/Biztalk/default.aspx">Biztalk</category><category domain="http://blogs.msdn.com/sanket/archive/tags/Commerce+Server/default.aspx">Commerce Server</category></item><item><title>Correction: "Updates Overwrite" property of Commerce Server Profiles Adapter</title><link>http://blogs.msdn.com/sanket/archive/2006/12/09/correction-updates-overwrite-property-of-commerce-server-profiles-adapter.aspx</link><pubDate>Sat, 09 Dec 2006 13:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1245187</guid><dc:creator>Sanket Bakshi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sanket/comments/1245187.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sanket/commentrss.aspx?PostID=1245187</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sanket/rsscomments.aspx?PostID=1245187</wfw:comment><description>&lt;P&gt;A couple of days ago, I had blogged &lt;A href="http://blogs.msdn.com/sanket/archive/2006/11/13/error-with-commerce-server-profile-adapter.aspx" target=_blank mce_href="http://blogs.msdn.com/sanket/archive/2006/11/13/error-with-commerce-server-profile-adapter.aspx"&gt;here&lt;/A&gt; about an error on the Commerce Server Profiles adapter.&lt;/P&gt;
&lt;P&gt;When trying out an update to the Profile, the Commerce Server Adapter returns back the following error message - &lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;lt;?xml version="1.0"?&amp;gt; &lt;BR&gt;&amp;lt;CommerceServerProfilesUpdateResponse&amp;gt; &lt;BR&gt;&amp;lt;InvalidProfileUpdateMessage&amp;gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;EM&gt;&lt;U&gt;The message body received by the send adapter is not valid for the CommerceServerProfilesUpdate API call. Message ID: 529029a6-5954-4446-bdd3-a5b4c5051cbb. Detail: There has been an optimistic locking conflict. The object could not be saved. This occurs when someone else makes a change to the object after you have loaded the object but before you have saved the object. To force overwriting of the other user's change, set the overwriteOnConflict flag to true. Profile Name = 'Address'. Primary Key Value = '{f8ec6880-9a9a-4059-9e10-1bb1712687ba}'.&lt;/U&gt; &lt;BR&gt;&lt;/EM&gt;&amp;lt;/InvalidProfileUpdateMessage&amp;gt; &lt;BR&gt;&amp;lt;/CommerceServerProfilesUpdateResponse&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The solution that I had suggested was to set the "Updates Overwrite" property on the adapter to "&lt;EM&gt;true&lt;/EM&gt;". However, on exploring the avenue further, I came to know that setting this property to "&lt;EM&gt;true&lt;/EM&gt;" would actually cause the Commerce Server to update all the properties for&amp;nbsp;the related profile. If it is not specified as an input, then it is marked as null. This behaviour might not be desirable in most of the cases where you would not like to pass all the information. Only information that is updatable should be updated. &lt;/P&gt;
&lt;P&gt;The "Updates Overwrite" property allows doing that by setting it to "&lt;EM&gt;false&lt;/EM&gt;". However, when this propery is set to "&lt;EM&gt;false&lt;/EM&gt;", the Commerce Server Webservices checks for the update timestamp on the incoming message. If the timestamp is not available or if it's value is greater than the last updated timestamp in the database, then the adapter returns back with the above error message. &lt;/P&gt;
&lt;P&gt;To take care of this issue, all you have to do is set the "date_last_changed" &amp;amp; "csadapter_date_last_changed" fields in your update request message to the Commerce Server to the current datetime. This can be done by simply using the date &amp;amp; time functoid in the map or by distinguishing these properties and then assigning them in expression shape as - &lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;updateRequestMessage.UserObject.ProfileSystem.date_Last_changed = System.DateTime.Now().ToString();&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;updateRequestMessage.UserObject.ProfileSystem.csadapter_date_Last_changed = System.DateTime.Now().ToString();&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This will now allow you to update the profile without sending the additional information that need not be updated. &lt;/P&gt;
&lt;P&gt;One thing that I noticed with this is that even after doing this, If I go ahead to update the profile without specifying my existing credit cards, it then deletes all the credit card links in my profile. To overcome this I have to pass the credit card ids (GUIDs) along with my user profile update message. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1245187" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sanket/archive/tags/Biztalk/default.aspx">Biztalk</category><category domain="http://blogs.msdn.com/sanket/archive/tags/Commerce+Server/default.aspx">Commerce Server</category></item><item><title>Solving the error when updating Commerce Server using the Profile Adapter</title><link>http://blogs.msdn.com/sanket/archive/2006/11/13/error-with-commerce-server-profile-adapter.aspx</link><pubDate>Mon, 13 Nov 2006 12:50:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1067362</guid><dc:creator>Sanket Bakshi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sanket/comments/1067362.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sanket/commentrss.aspx?PostID=1067362</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sanket/rsscomments.aspx?PostID=1067362</wfw:comment><description>&lt;p&gt;When dealing with Commerce Server Adapters for BizTalk, you might face an issue where the Profile Adapter returns this&amp;nbsp;message&amp;nbsp;on update - &lt;/p&gt;  &lt;p&gt;&amp;lt;?xml version="1.0"?&amp;gt;   &lt;br /&gt;&amp;lt;CommerceServerProfilesUpdateResponse&amp;gt;    &lt;br /&gt;&amp;lt;InvalidProfileUpdateMessage&amp;gt;    &lt;br /&gt;&lt;em&gt;&lt;u&gt;The message body received by the send adapter is not valid for the CommerceServerProfilesUpdate API call. Message ID: 529029a6-5954-4446-bdd3-a5b4c5051cbb. Detail: There has been an optimistic locking conflict. The object could not be saved. This occurs when someone else makes a change to the object after you have loaded the object but before you have saved the object. To force overwriting of the other user's change, set the overwriteOnConflict flag to true. Profile Name = 'Address'. Primary Key Value = '{f8ec6880-9a9a-4059-9e10-1bb1712687ba}'.&lt;/u&gt;      &lt;br /&gt;&lt;/em&gt;&amp;lt;/InvalidProfileUpdateMessage&amp;gt;    &lt;br /&gt;&amp;lt;/CommerceServerProfilesUpdateResponse&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;To solve this issue, simply go to the adapter configuration on your send Port and &lt;em&gt;&lt;u&gt;set the "Updates Overwrite" property of the adapter to true&lt;/u&gt;&lt;/em&gt;. If this property is set, the adapter is allowed to overwrite the existing properties on the profile and hence the error is taken care of.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1067362" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sanket/archive/tags/Biztalk/default.aspx">Biztalk</category><category domain="http://blogs.msdn.com/sanket/archive/tags/Commerce+Server/default.aspx">Commerce Server</category></item><item><title>Commerce Server 2007 shipped</title><link>http://blogs.msdn.com/sanket/archive/2006/06/20/Commerce-Server-2007-shipped.aspx</link><pubDate>Tue, 20 Jun 2006 08:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:638552</guid><dc:creator>Sanket Bakshi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sanket/comments/638552.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sanket/commentrss.aspx?PostID=638552</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sanket/rsscomments.aspx?PostID=638552</wfw:comment><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;The Commerce Server 2007 has shipped last week and is available.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The web site is updated and all the latest content is now available publicly. &lt;BR&gt;All those interested folks can download the evaluation copy from - &lt;/FONT&gt;&lt;A title=http://www.microsoft.com/commerceserver/default.mspx href="http://www.microsoft.com/commerceserver/default.mspx"&gt;&lt;FONT face=Arial size=2&gt;http://www.microsoft.com/commerceserver/default.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;--Sanket&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=638552" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sanket/archive/tags/MS+News/default.aspx">MS News</category><category domain="http://blogs.msdn.com/sanket/archive/tags/Commerce+Server/default.aspx">Commerce Server</category></item><item><title>Commerce Server 2006 (Oops 2007) RC0 Released</title><link>http://blogs.msdn.com/sanket/archive/2006/05/29/Commerce-Server-2006-_2800_Oops-2007_2900_-RC0-Released.aspx</link><pubDate>Mon, 29 May 2006 20:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:610556</guid><dc:creator>Sanket Bakshi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sanket/comments/610556.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sanket/commentrss.aspx?PostID=610556</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sanket/rsscomments.aspx?PostID=610556</wfw:comment><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;The Commerce Server 2007 RC 0 has released last week. The product has been enhanced a lot from its predecessor - 2002. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Yeah, I can see those raised eyebrows. Well the original name of the product has been changed from 2006 to 2007 not because it is going to be delayed. The product is definitely on track for the June RTM release. But Microsoft starts with its 2007 fiscal year when the product is out, hence the change in name. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The CS 2007 sports a lot of enhancements. The code is completely based in the de-facto .net 2.0. It now has some&amp;nbsp;better&amp;nbsp;integration with BizTalk 2006 with its set of adapters for the Orders, Catalog, Inventory &amp;amp; Profiles. Its integration with BTS also helps easily connect to LOB apps or trading partners. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Its packed with loads of other features apart from this. &lt;BR&gt;You can check it out for yourself. Download an evaluation at - &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/commerceserver/evaluation/2006/beta.mspx"&gt;&lt;FONT face=Arial size=2&gt;http://www.microsoft.com/commerceserver/evaluation/2006/beta.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;--Sanket Bakshi&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=610556" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sanket/archive/tags/MS+News/default.aspx">MS News</category><category domain="http://blogs.msdn.com/sanket/archive/tags/Commerce+Server/default.aspx">Commerce Server</category></item></channel></rss>