Handling two known issues with Windows Azure node.js SDK 0.5.2

My recent development work with Windows Azure Node.js SDK 0.5.2 helped me to found two issues. Until next SDK update is available please use the given workaround to solve your problem.

 

Issues 1: Exception while testing your node.js application in Compute Emulator

After you installed the latest available Node.js SDK 0.5.2 and launch your node application in Azure Emulator as below:

>> Start-AzureEmulator -Launch

 

You might see an exception as below:

>> Windows Azure Web Role Entry Point host has stopped working…

 

Root Cause:

The issue appears to be with server.js.logs, when the web role is started, IISConfigurator changes the ACL for the web role directory (and all contained directories). This process if server.js.logs is present and cause IISConfigurator process to crash which ultimately cause your role to show above error.

 

Solution:

Please delete the server.js.logs folder before launching the emulator and you will not see the problem. I have tested this workaround and it does work fine with SDK 0.5.2.

 

Issues 2: Unable to publish MongoDB enabled Node.js app to Azure

When you try to publish a MongoDB enabled node.js app using “Publish-AzureService” powershell command, you might get an error and publish process interrupted.

 

PS>> Publish-AzureService

Publish-AzureService : Object reference not set to an instance of an object.

NullReferenceException

 

 

Root Cause:

When you try to publish the application, the code look for certificate node in the CSCFG file and it this node is not present it generate an exception as seen by you. As certificate node ins CSCFG file is optional so the code must not dependent on it. PG could not repro this issue because they had Certificate node I their CSCFG and did not look for dependencies. We sure can overcome this problem by defining empty Certificates nodes in Role sections of cscfg.

 

Solution:

So to work around this issue please add the empty Certificate node in your CSCFG file in the appropriate section.

<Certificates/>