Month: August 2012

Could not load file or assembly ReportingServicesNativeClient

If you experiencing error “Could not load file or assembly ReportingServicesNativeClient” when you try to access Report Manager and/or Report Server in your SQL Server 2005 Reporting Services deployment, it’s most likely due to the fact that your Application Pool is configured incorrectly. More than likely you recently executed “cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1” for some other project which ended up affecting SSRS without you even knowing it.

 

Here’s how I fixed this issue in my SSRS environment (please make sure to test this solution in your test environment before trying it on your production environment):

1.   Open IIS Manager 7+

2.   Click Application Pools

3.   Select “ReportServer” from the list of app pools then click Advanced Settings

4.   Under the General section find the property named Enabled 32-Bit Applications and set that to False

5.   Register x64 version of ASP.NET – C:\Windows\Microsoft.NET\Framework64\v2.0.50727>aspnet_regiis.exe -i

6.   Restart IIS

7.   Test Report Manager

 

If it still doesn’t work:

1.   Open the SSRS Configuration Tool and connect

2.   Click Report Server Virtual Directory

3.   Check mark Apply default settings then click the Apply button

4.   If the Web Service Identity doesn’t show a green checkbox, click on it then make sure both Report Server and Report Manager are both set to the ReportServer app pool

  

That should do it.

 

-Nuno

BizTalk Server 2009, RosettaNet Accelerator, & Client Certificates

 

By default, the RosettaNet Accelerator in BizTalk Server 2009 does not support sending Client Certificates via BATRNApp/RNIFSend.aspx. To achieve this functionality, you need to download the Elemica Connectivity Pack from MSDN. The Elemica Connectivity Pack contains a modified version of the Microsoft.Solutions.BTARN.RNIFSend.dll which can be tweaked to send your Client Certificate.

You can download the Elemica Connectivity Pack from MSDN at:

http://go.microsoft.com/fwlink/?LinkId=46195

How to customize our new Microsoft.Solutions.BTARN.RNIFSend.dll

1.       Run the BTARN30 Elemica Connectivity Packe.exe to extract the files.

2.       Next, Open the RNIFSend project

3.       Sign the project with a Strong Name (if you don’t know how to do this, check this article out http://msdn.microsoft.com/en-us/library/xc31ft41.aspx)

4.       Build the project (make sure the configuration is set to Release)

5.       Open IIS, expand websites and find the BTARNApp virtual directory…

6.       Right click it then click Explore to open the physical folder in Windows Explorer (by default it is located in \Program Files (x86)\Microsoft BizTalk 2009 Accelerator for RosettaNet\RNApp)

7.       Backup your RNApp directory

8.       Next, copy the Microsoft.Solutions.BTARN.RNIFSend.dll that you built in step 4 above to the \RNApp\bin directory (when prompted to overwrite, click Yes)

9.       Open the web.config file located in the RNApp directory

10.   Add the following key/value pair to the appSettings section (if the appSettings section doesn’t exist just add it) to the bottom (right before the </configuration> element). Make sure to change the certificate path/filename to the one you want to use.

  <appSettings>

    <add key=CertificateFile

value=D:\BizTalk Client Certificate\YourPublicCert.cer />

  </appSettings>

11.   Save the web.config file but make sure your certificate is in the path you specified. Also, please make sure the certificate you selected is capable of Client Authentication. You can check that in the Certificates MMC by right clicking your certificate then looking at the Certificate Purposes list.

12.   In IIS, assign the user that is used by the Host Instance (in the BizTalk Administration Console) to the IIS App Pool associated with your BTARNApp virtual directory

13.   Restart IIS

14.   Restart the BizTalk Host Instance

15.   Test it

Turn on Tracing to debug your BTARNApp

One of the coolest tools I found that helped me was turning on tracing to see what was actually going in and out of the BTARNApp web app. To turn on tracing just add the following code snippet to the RNApp/web.config file (you don’t need to copy the configuration elements):

<configuration>

 

<system.diagnostics>

    <trace autoflush=true />

    <sources>

      <source name=System.Net>

        <listeners>

          <add name=System.Net />

        </listeners>

      </source>

      <source name=System.Net.HttpListener>

        <listeners>

          <add name=System.Net />

        </listeners>

      </source>

      <source name=System.Net.Sockets>

        <listeners>

          <add name=System.Net />

        </listeners>

      </source>

      <source name=System.Net.Cache>

        <listeners>

          <add name=System.Net />

        </listeners>

      </source>

    </sources>

    <sharedListeners>

      <add name=System.Net type=System.Diagnostics.TextWriterTraceListener initializeData=c:\traces\BTARNApp.log traceOutputOptions=DateTime />

    </sharedListeners>

    <switches>

      <add name=System.Net value=Verbose />

      <add name=System.Net.Sockets value=Verbose />

      <add name=System.Net.Cache value=Verbose />

      <add name=System.Net.HttpListener value=Verbose />

    </switches>

  </system.diagnostics>

 

</configuration>

 

 

addEventListener Error Internet Explorer

Are you sick and tired of getting that annoying debugger break in Visual Studio caused by the addeventlistener Null Object Reference exception!? Well, after tons of googling I still couldn’t find the resolution. What I noticed is that after doing Windows Updates sometimes after the PC restarts the error would stop (for a short time). For me the error was occurring on Internet Explorer 9 but it’s possible that you may experience the same symptoms on prior version of the IE.

Resolution

1.       Open Internet Explorer 9

2.       Click the Tools menu (if you don’t see it, don’t worry, just hit the ALT key on your keyboard and it will appear) then click Manage add-ons

3.       In the list of addons on the right pane, click on any add-on then press CTRL+A (this will select all your add-ons… also you may want to take a screenshot or write down which add-ons you have enabled so that you won’t forget which ones you had enabled)

4.       Next, click the Disable All button at the bottom right hand side of the screen

 

5.       Click the Close button

6.       Open Visual Studio .NET and load up the website that you know causes the addeventlistener error and vuala, no more error!

 

At this point what I did is enable each add-on one by one and test my project to try to figure out which one was causing the exception (in my case the add-on was called “Discuss”).

 

I hope this article was helpful, happy programming! J