A random collection of epiphanies, thoughts and problem solutions pertaining to .NET and BizTalk.

Tuesday, November 21, 2006

MCTS in BizTalk 2006

I passed the MCTS certification exam in BizTalk 2006 today. There were 50 questions and I finished them in 60-70 minutes. I have been programming in BizTalk 2004 and 2006 extensively for a couple years now, as it turned out that I over-prepared for the exam; I should have (probably) passed it just based on my experience. I would have to say the exam questions are relatively easy and not well balanced. Like most of the bloggers pointed out that there are too many BAM and BRE related questions. Moreover, there are too many questions about distinguished/promoted properties.
There is a lack of the core architecture questions on the messaging engine, publishing-subscribing model, orchestrations etc.

I almost felt that those exam authors might be programming heavily in BAM/BRE; they were probably not extremely familiar (or concerned) with the more popular/well-known features in BizTalk like orchestrations, maps, pipelines etc. There're 0 questions about the custom components development which I consider it's a big weakness of the exam. Programming custom components like adapters, pipeline components, functoids, fact retrievers, and BAM interceptors are essential part of the BizTalk framework. The exam didn't cover these areas well.

Another big complaint from me is that MCTS in BizTalk 2006 is not a constituent part of the MCPD certification. From my perspective, it most definitely should be. BizTalk developers must have equally strong .NET programming skills as web / winform developer. Anyway, I hope MSFT would consider this seriously and revise the certification path.

Saturday, May 20, 2006

System.Web.Services.Protocols.SoapException: Server was unable to process request. --> Cannot create ActiveX component. EnvDTE

I got this exception thrown at me when I tried to do the following in the web service:

DTE ideObject = (DTE) Microsoft.VisualBasic.Interaction.CreateObject
(
"VisualStudio.DTE.7.1", ""
);

You may run into the similar problem if you wanted to access native Microsoft objects such as excel or word. There are two solutions:
1) Make sure your aspnet_wp work process runs under a priviledged account that has the sufficient permission to carry out this task. This is usually done through the impersonation in web.config file. You will find plenty of posts explaining how this is achieved.
2) Grant explicit Launch/Activation and Access permission to "Microsoft Visual Studio Solution Object" in DCOM Config.

The following are the steps for option 2):
a) Go to "Start | Settings | Control Panel | Administrative Tools | Components Services".
b) Drill thru "Components Services -> Computers -> My Computer -> DCOM Config"
c) Select "Microsoft Visual Studio Solution Object"
d) Right click and bring up the "Properties"
e) Click on the "Security" Tab
f) In the groupbox "Launch and Activation Permissions"; select "Customize" radio button and click on "Edit" button; check both "Local Launch" and "Local Activation" to grant these permissions to Machine\ASPNET account.
g) In the groupbox "Access Permissions"; repeat step (f) to grant the "Local Access" to Machine\ASPNET account.
h) Click "Apply" to apply the changes.

Here are some screen shots:


Microsoft Visual Studio Solution Object Properties

Launch and Activation Permissions

Access Permissions

Followers