<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bradley L. Foley</title>
	<atom:link href="http://www.blfoley.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blfoley.com</link>
	<description>A Developer&#039;s Flight Of Fancy</description>
	<lastBuildDate>Tue, 24 Jan 2012 15:58:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>ODAC Released with Entity Framework and LINQ Support</title>
		<link>http://www.blfoley.com/2012/01/odac-released-with-entity-framework-and-linq-support/</link>
		<comments>http://www.blfoley.com/2012/01/odac-released-with-entity-framework-and-linq-support/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 15:58:31 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[.NET Development]]></category>
		<category><![CDATA[ADO Entity]]></category>
		<category><![CDATA[Data Access]]></category>
		<category><![CDATA[Linq]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.blfoley.com/?p=236</guid>
		<description><![CDATA[Oracle Data Access Components Released with Entity Framework and LINQ Support The production version of ODAC 11.2 Release 4 (11.2.0.3) has arrived for Entity Framework and LINQ developers! It includes 32-bit and x64 versions with the option of using an automated installer or xcopy deployment. The release incorporates Oracle Database client 11.2.0.3, which can access [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Oracle Data Access Components Released with Entity Framework and LINQ Support</strong></p>
<p>The production version of ODAC 11.2 Release 4 (11.2.0.3) has arrived for Entity Framework and LINQ developers! It includes 32-bit and x64 versions with the option of using an automated installer or xcopy deployment.</p>
<p>The release incorporates Oracle Database client 11.2.0.3, which can access Oracle Database 9.2 and higher. Oracle supports Entity Framework and LINQ with Microsoft Visual Studio 2010 and .NET Framework 4, including Entity Framework 4.1 and 4.2.</p>
<ul>
<li>Download ODAC 11.2 Release 4
<ul>
<li><a href="http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html?msgid=3-5804196843">32-bit ODAC with Oracle Developer Tools for Visual Studio</a> (required for Entity Framework development)</li>
<li><a href="http://www.oracle.com/technetwork/database/windows/downloads/utilsoft-087491.html?msgid=3-5804196843">32-bit ODAC xcopy</a></li>
<li><a href="http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html?msgid=3-5804196843">x64 ODAC installer and xcopy</a></li>
</ul>
</li>
<li>Article: <a href="http://www.oracle.com/technetwork/issue-archive/2011/11-sep/o51odt-453447.html?msgid=3-5804196843">Use Entity Framework with ODP.NET</a></li>
<li><a href="http://www.oracle.com/goto/newsletters/qtr/dotnet/0112/cd_E20434_01_welcome.html?msgid=3-5804196843">ODAC 11.2 Release 4 Documentation</a></li>
</ul>
<p> <a href="http://www.oracle.com/technetwork/database/windows/newfeatures-084113.html?msgid=3-5804196843">ODAC New Features List</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blfoley.com/2012/01/odac-released-with-entity-framework-and-linq-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft MVP Award for 2012</title>
		<link>http://www.blfoley.com/2012/01/microsoft-mvp-award-for-2012/</link>
		<comments>http://www.blfoley.com/2012/01/microsoft-mvp-award-for-2012/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 13:15:10 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Award]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MVP]]></category>

		<guid isPermaLink="false">http://www.blfoley.com/?p=233</guid>
		<description><![CDATA[So I received an email, New Years day, informing me that I have been awarded my second MVP award.&#160; I am glad Microsoft decided to keep the program going as they transition Commerce Server to Ascentium. It is with great pride we announce that Bradley Foley has been awarded as a Microsoft® Most Valuable Professional [...]]]></description>
			<content:encoded><![CDATA[<p>So I received an email, New Years day, informing me that I have been awarded my second MVP award.&#160; I am glad Microsoft decided to keep the program going as they transition Commerce Server to Ascentium.</p>
<blockquote><p>It is with great pride we announce that Bradley Foley has been awarded as a Microsoft® Most Valuable     <br />Professional (MVP) for 1/1/2012 &#8211; 1/1/2013. The Microsoft MVP Award is an annual award that recognizes      <br />exceptional technology community leaders worldwide who actively share their high quality, real world expertise      <br />with users and Microsoft. All of us at Microsoft recognize and appreciate Bradley’s extraordinary contributions and      <br />want to take this opportunity to share our appreciation with you.</p>
</blockquote>
<p>I do with to keep working within the community, either with Commerce Server, or perhaps its time I learn a new trade. Who knows only time will tell.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blfoley.com/2012/01/microsoft-mvp-award-for-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft SQL Server 2012 RC0 is Now Available for Download!</title>
		<link>http://www.blfoley.com/2011/11/microsoft-sql-server-2012-rc0-is-now-available-for-download/</link>
		<comments>http://www.blfoley.com/2011/11/microsoft-sql-server-2012-rc0-is-now-available-for-download/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 18:51:27 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[Release Canidate]]></category>

		<guid isPermaLink="false">http://www.blfoley.com/2011/11/microsoft-sql-server-2012-rc0-is-now-available-for-download/</guid>
		<description><![CDATA[http://www.microsoft.com/download/en/details.aspx?id=28145 System requirements Supported Operating Systems: Windows 7, Windows Server 2008 R2, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 2 32-bit systems Computer with Intel or compatible 1GHz or faster processor (2 GHz or faster is recommended.) 64-bit systems 1.4 GHz or faster processor Minimum of 1 GB of RAM (2 GB [...]]]></description>
			<content:encoded><![CDATA[<p><a title="http://www.microsoft.com/download/en/details.aspx?id=28145" href="http://www.microsoft.com/download/en/details.aspx?id=28145">http://www.microsoft.com/download/en/details.aspx?id=28145</a></p>
<p><font style="font-weight: bold">System requirements</font></p>
<p><strong>Supported Operating Systems:</strong> Windows 7, Windows Server 2008 R2, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 2</p>
<ul>
<li>32-bit systems
<ul>
<li>Computer with Intel or compatible 1GHz or faster processor (2 GHz or faster is recommended.)</li>
</ul>
</li>
<li>64-bit systems
<ul>
<li>1.4 GHz or faster processor</li>
</ul>
</li>
<li>Minimum of 1 GB of RAM (2 GB or more is recommended.) </li>
<li>2.2 GB of available hard disk space</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.blfoley.com/2011/11/microsoft-sql-server-2012-rc0-is-now-available-for-download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Future Of Commerce Server</title>
		<link>http://www.blfoley.com/2011/11/the-future-of-commerce-server/</link>
		<comments>http://www.blfoley.com/2011/11/the-future-of-commerce-server/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 18:50:41 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Commerce Server]]></category>

		<guid isPermaLink="false">http://www.blfoley.com/2011/11/the-future-of-commerce-server/</guid>
		<description><![CDATA[A quick note about the Ascentium/Microsoft buzz about Commerce Server, here’s an official press release from Ascentium. And here it is again on their site.]]></description>
			<content:encoded><![CDATA[<p>A quick note about the Ascentium/Microsoft buzz about Commerce Server, <a href="http://www.marketwatch.com/story/ascentium-announces-plans-to-develop-and-market-future-editions-of-commerce-server-2011-11-17" target="_blank">here’s</a> an official press release from <a href="http://www.ascentium.com/" target="_blank">Ascentium</a>. And <a href="http://www.ascentium.com/content/ascentium-announces-plans-develop-and-market-future-editions-commerce-server" target="_blank">here</a> it is again on their site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blfoley.com/2011/11/the-future-of-commerce-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting User Information For all the users in an Active Directory Group.</title>
		<link>http://www.blfoley.com/2011/11/getting-user-information-for-all-the-users-in-an-active-directory-group/</link>
		<comments>http://www.blfoley.com/2011/11/getting-user-information-for-all-the-users-in-an-active-directory-group/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 18:12:02 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[.NET Development]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[c#]]></category>

		<guid isPermaLink="false">http://www.blfoley.com/2011/11/getting-user-information-for-all-the-users-in-an-active-directory-group/</guid>
		<description><![CDATA[A recent requirement came up for a quick bit of code to retrieve the names and e-mail addresses from an ActiveDirectroy group. I did this in code instead of power shell in order to be able to use these methods in further logic. So here we go…. First we’re going to create a simple structure [...]]]></description>
			<content:encoded><![CDATA[<p>A recent requirement came up for a quick bit of code to retrieve the names and e-mail addresses from an ActiveDirectroy group. I did this in code instead of power shell in order to be able to use these methods in further logic. </p>
<p>So here we go….</p>
<p>First we’re going to create a simple structure to represent the user information we need:   </p>
<p><span style="color: blue">&#160;&#160;&#160;&#160;&#160;&#160;&#160; public struct </span><span style="color: #2b91af">UserInfo     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>{    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">public string </span>DisplayName;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">public string </span>Mail;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">public string </span>Login;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    </p>
<p> Next were going to create a simple entry point in which we will use to test our methods:  </p>
<pre class="code"><span style="color: blue">static void </span>Main(<span style="color: blue">string</span>[] args)
{
    <span style="color: #2b91af">ArrayList </span>ar = GetADGroupUsers(<span style="color: #a31515">&quot;GroupName&quot;</span>);

    <span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">UserInfo</span>&gt; users = <span style="color: blue">new </span><span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">UserInfo</span>&gt;();
    <span style="color: blue">foreach </span>(<span style="color: blue">string </span>user <span style="color: blue">in </span>ar)
    {
        users.Add(GetADUserInfo(user));

    }
}</pre>
<p>&#160;</p>
<p>Now we will need to implement the two methods seen above. First the method to get all the users in a group:</p>
<p>&#160;</p>
<pre class="code"><span style="color: blue">static public </span><span style="color: #2b91af">ArrayList </span>GetADGroupUsers(<span style="color: blue">string </span>groupName)
{
    <span style="color: #2b91af">SearchResult </span>result;
    <span style="color: #2b91af">DirectorySearcher </span>search = <span style="color: blue">new </span><span style="color: #2b91af">DirectorySearcher</span>();
    search.Filter = <span style="color: #2b91af">String</span>.Format(<span style="color: #a31515">&quot;(cn={0})&quot;</span>, groupName);
    search.PropertiesToLoad.Add(<span style="color: #a31515">&quot;member&quot;</span>);
    search.PropertiesToLoad.Add(<span style="color: #a31515">&quot;mail&quot;</span>);
    search.PropertiesToLoad.Add(<span style="color: #a31515">&quot;samaccountname&quot;</span>);
    result = search.FindOne();

    <span style="color: #2b91af">ArrayList </span>userNames = <span style="color: blue">new </span><span style="color: #2b91af">ArrayList</span>();
    <span style="color: blue">if </span>(result != <span style="color: blue">null</span>)
    {
        <span style="color: blue">for </span>(<span style="color: blue">int </span>counter = 0; counter &lt;
                 result.Properties[<span style="color: #a31515">&quot;member&quot;</span>].Count; counter++)
        {

            userNames.Add((<span style="color: blue">string</span>)result.Properties[<span style="color: #a31515">&quot;member&quot;</span>][counter]);
        }
    }
    <span style="color: blue">return </span>userNames;
}</pre>
<p>Now that we have the ArrayList of users, we will need to get the information about the users:</p>
<pre class="code"><span style="color: blue">static public </span><span style="color: #2b91af">UserInfo </span>GetADUserInfo(<span style="color: blue">string </span>userName)
{
    <span style="color: #2b91af">SearchResult </span>result;

    <span style="color: #2b91af">DirectoryEntry </span>de = <span style="color: blue">new </span><span style="color: #2b91af">DirectoryEntry</span>(<span style="color: #a31515">&quot;LDAP://<em>mydomaincontroller</em>/&quot;</span>+userName);

    <span style="color: #2b91af">UserInfo </span>ui = <span style="color: blue">new </span><span style="color: #2b91af">UserInfo</span>();
    ui.DisplayName = de.Properties[<span style="color: #a31515">&quot;displayName&quot;</span>].Value.ToString();
    ui.Mail = de.Properties[<span style="color: #a31515">&quot;mail&quot;</span>].Value.ToString();
    ui.Login = de.Properties[<span style="color: #a31515">&quot;sAMAccountName&quot;</span>].Value.ToString();
    <span style="color: blue">return </span>ui;

}</pre>
<p>And that’s it, now we have a nice list of users with their email addresses.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blfoley.com/2011/11/getting-user-information-for-all-the-users-in-an-active-directory-group/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 Tips to a Successful Programmer Interview</title>
		<link>http://www.blfoley.com/2011/11/5-tips-to-a-successful-programmer-interview/</link>
		<comments>http://www.blfoley.com/2011/11/5-tips-to-a-successful-programmer-interview/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 21:58:06 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[programmer]]></category>

		<guid isPermaLink="false">http://www.blfoley.com/2011/11/5-tips-to-a-successful-programmer-interview/</guid>
		<description><![CDATA[If you don’t know it, don’t put it on your resume. This is perhaps the most simple task. If you don’t embellish the technical portion of you resume you’re likely to find yourself interviewing for a position that matches your technical skills. This is critical because if you list it on your resume, and it’s [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li><strong>If you don’t know it, don’t put it on your resume.</strong>      <br />This is perhaps the most simple task. If you don’t embellish the technical portion of you resume you’re likely to find yourself interviewing for a position that matches your technical skills. This is critical because if you list it on your resume, and it’s a skill that they are looking for, you’re probably going to have to answer some questions about it. </li>
<li><strong>Confidence       <br /></strong>This is just too simple. Don’t push it so far as arrogance, but definitely show some confidence in yourself and in your past work.</li>
<li><strong>Don’t be afraid to say you don’t know.       <br /></strong>Nothing makes me want to end an interview faster than someone blowing smoke. If you don’t know, say so, we can move on to things you do. Also be prepared to answer, “Well since you don’t know, how would you go about learning to do that.”</li>
<li><strong>Be prepared to write some code.       <br /></strong>Although the recruiters often prepare the candidates of the fact that they are going to have to write some code. The technical interviews are very fluid and generally not written in stone. They can be adjusted to allow you to demonstrate your skill, but at the minimum you should be able to write some SQL, some data access and some basic programming such as methods, constructors, etc.&#160; <em>(Ask questions if you don’t understand what they are asking for…)</em></li>
<li><strong>Don’t waste their or your time.       <br /></strong>If you don’t think that your skills are a technical fit to the requirement, don’t bother interviewing. All your doing is wasting their time and yours. </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.blfoley.com/2011/11/5-tips-to-a-successful-programmer-interview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Get The Commerce Server Extensibility Kit Deployment Friendly</title>
		<link>http://www.blfoley.com/2011/09/how-to-get-the-commerce-server-extensibility-kit-deployment-friendly/</link>
		<comments>http://www.blfoley.com/2011/09/how-to-get-the-commerce-server-extensibility-kit-deployment-friendly/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 04:06:00 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Commerce Server]]></category>
		<category><![CDATA[commerce]]></category>
		<category><![CDATA[Commerce Server 2009 R2]]></category>
		<category><![CDATA[Extensibility Kit]]></category>
		<category><![CDATA[Sharepoint 2010]]></category>

		<guid isPermaLink="false">http://www.blfoley.com/2011/09/how-to-get-the-commerce-server-extensibility-kit-deployment-friendly/</guid>
		<description><![CDATA[When you first start out developing for Commerce Server 2009 R2, you notice there are quite a large amount of code that they provide you to get started with. Where To Start: First you need to find the CommerceSharePointExtensibilityKit.zip file located at C:\Program Files (x86)\Microsoft Commerce Server 9.0\Extensibility Kits In this file you’ll see two [...]]]></description>
			<content:encoded><![CDATA[<p>When you first start out developing for Commerce Server 2009 R2, you notice there are quite a large amount of code that they provide you to get started with. </p>
<p><strong>Where To Start:      <br /></strong>First you need to find the CommerceSharePointExtensibilityKit.zip file located at C:\Program Files (x86)\Microsoft Commerce Server 9.0\Extensibility Kits     <br />In this file you’ll see two Visual Studio solution files. I’m a fan of VS2010, so we’ll work with that, although it isn’t what these solutions were meant for. </p>
<p>Open the SharePointCommerce solution. Allow Visual Studio to do it’s conversion. You’ll now need to add the two other projects Common and SharePointCommon. They are located in the named directories from the base solution directory, you shouldn’t have any issues finding them. </p>
<p><strong>Create your own SNK file:     <br /></strong>Create a small console application with a SNK of your own choosing. Add signing to the project, then retrieve the PublicKeyToken for later use.</p>
<p><strong>Replace the SNK file:     <br /></strong>Copy your SNK file over the built in file MSSharedLibSN1024.snk, don’t delete rename, this will just create more work for you later. </p>
<p><strong>Perform the following Search and Replace Operations within all files in the solution:</strong></p>
<blockquote><p><strong>Search For:        <br /></strong>Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</p>
<p><strong>Replace With:</strong>       <br />Version=1.0.0.0, Culture=neutral, PublicKeyToken=<em>&lt;YourKeyHere&gt;</em></p>
<p><strong>Search For:        <br /></strong>Culture=Neutral, Version=1.0.0.0, PublicKeyToken=31bf3856ad364e35</p>
<p><strong>Replace With:</strong>       <br />Culture=Neutral, Version=1.0.0.0, PublicKeyToken=<em>&lt;YourKeyHere&gt;</em></p>
<p><strong>Manually Edit this file:       <br /></strong>CommerceSharePointExtensibilityKit\SharePointCommon\FeatureActivation\CommerceFeatureActivationJobDefinition.cs Line: 1836       <br />&quot;Microsoft.CommerceServer.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=<em>&lt;YourKeyHere&gt;</em>&quot;&#160; </p>
<p><strong>Replace with:        <br /></strong>&quot;Microsoft.CommerceServer.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot; </p>
</blockquote>
<p>Now you will be able to build the entire solution, create the three WSP’s used by the custom installer, and use their handy tool to provision the site. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.blfoley.com/2011/09/how-to-get-the-commerce-server-extensibility-kit-deployment-friendly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Commerce Server 2009 R2 RTM</title>
		<link>http://www.blfoley.com/2011/09/commerce-server-2009-r2-rtm/</link>
		<comments>http://www.blfoley.com/2011/09/commerce-server-2009-r2-rtm/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 19:51:19 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Commerce Server]]></category>
		<category><![CDATA[2009 R2]]></category>

		<guid isPermaLink="false">http://www.blfoley.com/2011/09/commerce-server-2009-r2-rtm/</guid>
		<description><![CDATA[So I received my regularly scheduled MSDN Flash newsletter, Volume 15, Number 19. I look in the new software available and it’s showing Commerce Server 2009 R2. I signed in to MSDN and there it was located under new downloads. I haven’t heard any announcement other than that. I will see what I can find [...]]]></description>
			<content:encoded><![CDATA[<p>So I received my regularly scheduled MSDN Flash newsletter, Volume 15, Number 19. I look in the new software available and it’s showing Commerce Server 2009 R2. I signed in to MSDN and there it was located under new downloads.</p>
<p>I haven’t heard any announcement other than that. </p>
<p>I will see what I can find out and post more… But the Standard and Enterprise editions are both there for download.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blfoley.com/2011/09/commerce-server-2009-r2-rtm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Security Token with the Commerce Claim Operation</title>
		<link>http://www.blfoley.com/2011/08/security-token-with-the-commerce-claim-operation/</link>
		<comments>http://www.blfoley.com/2011/08/security-token-with-the-commerce-claim-operation/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 17:39:14 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Commerce Server]]></category>

		<guid isPermaLink="false">http://www.blfoley.com/2011/08/security-token-with-the-commerce-claim-operation/</guid>
		<description><![CDATA[So I just recently spun up a new virtual machine to do some Commerce Server 2009 R2 work. Did all my standard installation work, everything seemed good. Then when I went to view the site, I get the following error: An exception occurred when trying to issue security token: User DOMAIN\USERNAME is not authorized for [...]]]></description>
			<content:encoded><![CDATA[<p>So I just recently spun up a new virtual machine to do some Commerce Server 2009 R2 work. Did all my standard installation work, everything seemed good. </p>
<p>Then when I went to view the site, I get the following error:</p>
<p>An exception occurred when trying to issue security token: User <em>DOMAIN\USERNAME</em> is not authorized for the operation CommerceQueryOperation_CommerceClaim . Please open&#160; CommerceEntityAuthorizationStore.xml in Authorization Manager and add the user to CommerceClaim\Role Assignments\CommerceQueryOperation.</p>
<p>The site was returning a 500 error, and this was all that was given in the event log. Since I needed a quick fix, this is only a development machine you know. </p>
<p>I turned to the channel configuration file, there is a new element called CommerceAuthorization, it was set to required. </p>
<p>Simply make the change here to Disabled, and the error will disappear…</p>
<p>Here is where to find the CommerceAuthorization element in the ChannelConfiguration.Config file.</p>
<p><a href="http://www.blfoley.com/wp-content/uploads/2011/08/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blfoley.com/wp-content/uploads/2011/08/image_thumb.png" width="581" height="182" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blfoley.com/2011/08/security-token-with-the-commerce-claim-operation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trouble Shooting Commerce Server 2009 Profile Extensions</title>
		<link>http://www.blfoley.com/2011/08/trouble-shooting-commerce-server-2009-profile-extensions/</link>
		<comments>http://www.blfoley.com/2011/08/trouble-shooting-commerce-server-2009-profile-extensions/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 15:31:41 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Commerce Server]]></category>
		<category><![CDATA[profile system]]></category>

		<guid isPermaLink="false">http://www.blfoley.com/?p=210</guid>
		<description><![CDATA[This is the Exception that we will be looking at today: The requested operation could not be performed because the CommerceEntity &#8216;CustomEntity&#8217; does not map to a Commerce Server profile definition. [FaultException`1: The requested operation could not be performed because the CommerceEntity 'TaxForm' does not map to a Commerce Server profile definition.] Microsoft.Commerce.Providers.Utility.ProfileMetadata..ctor(CommerceEntityDefinition definition) +465 [...]]]></description>
			<content:encoded><![CDATA[<p>This is the Exception that we will be looking at today:</p>
<p>The requested operation could not be performed because the CommerceEntity &#8216;CustomEntity&#8217; does not map to a Commerce Server profile definition.</p>
<p>[FaultException`1: The requested operation could not be performed because the CommerceEntity 'TaxForm' does not map to a Commerce Server profile definition.]<br />
Microsoft.Commerce.Providers.Utility.ProfileMetadata..ctor(CommerceEntityDefinition definition) +465<br />
Microsoft.Commerce.Providers.Utility.ProfileMetadata.CreateProfileMetadata(MetadataCacheKey key, String modelName) +172<br />
Microsoft.Commerce.Providers.Utility.&lt;&gt;c__DisplayClass5.&lt;Get&gt;b__4(MetadataCacheKey key) +54<br />
Microsoft.Commerce.Application.Common.CachedFactory`2.GetOrCreate(TKey key, CreateInstance`2 factory) +435<br />
Microsoft.Commerce.Providers.Utility.ProfileMetadata.Get(String modelName) +288<br />
Microsoft.Commerce.Providers.Components.ProfileOperationSequenceComponent.get_Metadata() +89<br />
Microsoft.Commerce.Providers.Components.ProfileOperationSequenceComponent.get_PrimaryKeyName() +40<br />
Microsoft.Commerce.Providers.Components.RelatedProfileProcessorBase.ProcessQuery(CommerceQueryRelatedItem queryRelatedItem) +335<br />
Microsoft.Commerce.Providers.Components.RelatedProfileOperationSequenceComponent.ExecuteQuery(CommerceQueryOperation queryOperation, OperationCacheDictionary operationCache, CommerceQueryOperationResponse response) +786<br />
Microsoft.Commerce.Providers.Components.OperationSequenceComponent.Execute(CommerceOperation operation, OperationCacheDictionary operationCache, CommerceOperationResponse response) +348<br />
Microsoft.Commerce.Providers.Components.ProfileOperationSequenceComponent.Execute(CommerceOperation operation, OperationCacheDictionary operationCache, CommerceOperationResponse response) +116<br />
Microsoft.Commerce.Broker.OperationSequence.ExecuteComponentTree(List`1 executionTreeList, CommerceOperation operation, OperationCacheDictionary operationCache, CommerceOperationResponse response) +1040<br />
Microsoft.Commerce.Broker.OperationSequence.Execute(CommerceOperation operation) +276<br />
Microsoft.Commerce.Broker.MessageHandler.ProcessMessage(String messageHandlerName, CommerceOperation operation) +241<br />
Microsoft.Commerce.Broker.OperationService.InternalProcessRequest(CommerceRequest request) +494<br />
Microsoft.Commerce.Broker.OperationService.ProcessRequest(CommerceRequest request) +471<br />
Microsoft.Commerce.Common.OperationServiceAgent.ProcessRequest(CommerceRequestContext requestContext, CommerceRequest request) +151</p>
<p>So I checked all of the standard things:</p>
<ol>
<li>Verified that ‘CustomEntity’ was setup correctly in Commerce Manager</li>
<li>Ran a simple 2007 API based script to verify the relationship was setup correctly and that the ‘CustomEntity’ profile object was being returned correctly</li>
<li>Checked the MetaDefinitions.xml and the ChannelConfiguration.config files to verify that they were indeed correct.</li>
<li>Then I started scratching my head, I went over and over everything, and couldn’t figure out what was causing the problem.</li>
</ol>
<p>Then I started using <a href="http://reflector.red-gate.com/download.aspx?TreatAsUpdate=1">Reflector</a>, in Visual Studio integrated mode, I choose the following assemblies to debug.</p>
<ul>
<li>Microsoft.Commerce.Broker</li>
<li>Microsoft.Commerce.Common</li>
<li>Microsoft.Commerce.Contracts</li>
<li>Microsoft.Commerce.Providers</li>
</ul>
<p>Then we start the debugging process and the exception occurs, but with out any indication as to why. Then I start stepping through the code and I notice a line in the Provider assembly.</p>
<pre class="csharpcode"> <span class="kwrd">if</span> (((target != <span class="kwrd">null</span>) &amp;&amp; ProfileAssembly.Equals(target.get_CommerceServerAssembly(),
StringComparison.OrdinalIgnoreCase)) &amp;&amp; ProfileTypeName.Equals(target.get_CommerceServerClass(),
StringComparison.OrdinalIgnoreCase))
          {
            <span class="kwrd">return</span> target;
          }</pre>
<p>What this code is doing is essentially, checking the data we provided in our MetaDefinitions.xml file to make sure that it matches the assembly information.</p>
<pre class="csharpcode">  <span class="rem">&lt;!-- Custom Entity Start--&gt;</span>
            <span class="kwrd">&lt;</span><span class="html">CommerceEntity</span> <span class="attr">name</span><span class="kwrd">="CustomEntity"</span><span class="kwrd">&gt;</span>
                <span class="kwrd">&lt;</span><span class="html">DisplayName</span> <span class="attr">value</span><span class="kwrd">="Custom Entity"</span> <span class="kwrd">/&gt;</span>
                <span class="kwrd">&lt;</span><span class="html">EntityMappings</span> <span class="kwrd">&gt;</span>
                    <span class="kwrd">&lt;</span><span class="html">EntityMapping</span>
                                  <span class="attr">csType</span><span class="kwrd">="Microsoft.CommerceServer.Runtime.Profiles.Profile"</span>
                                  <span class="attr">csAssembly</span><span class="kwrd">="Microsoft.CommerceServer.Runtime, Version=6.1.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"</span>
                                  <span class="attr">csDefinitionName</span><span class="kwrd">="CustomEntity"</span>
                                  <span class="attr">csArea</span><span class="kwrd">="Profiles"</span><span class="kwrd">&gt;</span>
                        <span class="kwrd">&lt;</span><span class="html">PropertyMappings</span><span class="kwrd">&gt;</span>
                            <span class="kwrd">&lt;</span><span class="html">PropertyMapping</span> <span class="attr">property</span><span class="kwrd">="Id"</span> <span class="attr">csProperty</span><span class="kwrd">="GeneralInfo.u_Custom_Entity_id"</span> <span class="kwrd">/&gt;</span>
                            <span class="kwrd">&lt;</span><span class="html">PropertyMapping</span> <span class="attr">property</span><span class="kwrd">="FormName"</span> <span class="attr">csProperty</span><span class="kwrd">="GeneralInfo.b_Custom_Entity_image"</span> <span class="kwrd">/&gt;</span>
                            <span class="kwrd">&lt;</span><span class="html">PropertyMapping</span> <span class="attr">property</span><span class="kwrd">="DateCreated"</span> <span class="attr">csProperty</span><span class="kwrd">="GeneralInfo.dt_date_created"</span> <span class="kwrd">/&gt;</span>
                            <span class="kwrd">&lt;</span><span class="html">PropertyMapping</span> <span class="attr">property</span><span class="kwrd">="FormImage"</span> <span class="attr">csProperty</span><span class="kwrd">="GeneralInfo.u_Custom_Entity_name"</span><span class="kwrd">/&gt;</span>
                        <span class="kwrd">&lt;/</span><span class="html">PropertyMappings</span><span class="kwrd">&gt;</span>
                    <span class="kwrd">&lt;/</span><span class="html">EntityMapping</span><span class="kwrd">&gt;</span>
                <span class="kwrd">&lt;/</span><span class="html">EntityMappings</span><span class="kwrd">&gt;</span>
            <span class="kwrd">&lt;/</span><span class="html">CommerceEntity</span><span class="kwrd">&gt;</span>
            <span class="rem">&lt;!-- Custom Entity End—&gt;</span></pre>
<p>Do you see the problem? Well at first neither did I, and for that matter at second or third…. Look closely at this line</p>
<p>csAssembly=&#8221;Microsoft.CommerceServer.Runtime, Version=6.1.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&#8243;</p>
<p>Is should actually read:</p>
<p>csAssembly=&#8221;Microsoft.CommerceServer.Runtime, Version=6.<strong>0</strong>.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&#8243;</p>
<p>Once that simple typo was corrected, the whole process seemed to come to life.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blfoley.com/2011/08/trouble-shooting-commerce-server-2009-profile-extensions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

