Wednesday, August 31, 2005

1267.aspx

NullReferenceException in DefaultWsdlHelpGenerator

I got this nasty error today when deploying a web service to a new server:



Server Error in '/' Application.


Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.


Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.


Source Error:


Line 1201:
Line 1202:    OperationBinding FindHttpBinding(string verb) {
Line 1203:        foreach (ServiceDescription description in serviceDescriptions) {
Line 1204:            foreach (Binding binding in description.Bindings) {
Line 1205:                HttpBinding httpBinding = (HttpBinding)binding.Extensions.Find(typeof(HttpBinding)); 


Source File: c:\windows\microsoft.net\framework\v1.1.4322\Config\DefaultWsdlHelpGenerator.aspx Line: 1203


Stack Trace:


[NullReferenceException: Object reference not set to an instance of an object.]
   ASP.DefaultWsdlHelpGenerator_aspx.FindHttpBinding(String verb) in c:\windows\microsoft.net\framework\v1.1.4322\Config\DefaultWsdlHelpGenerator.aspx:1203
   ASP.DefaultWsdlHelpGenerator_aspx.get_HttpPostOperationBinding() in c:\windows\microsoft.net\framework\v1.1.4322\Config\DefaultWsdlHelpGenerator.aspx:441
   ASP.DefaultWsdlHelpGenerator_aspx.get_ShowingHttpPost() in c:\windows\microsoft.net\framework\v1.1.4322\Config\DefaultWsdlHelpGenerator.aspx:456
   ASP.DefaultWsdlHelpGenerator_aspx.__Render__control13(HtmlTextWriter __output, Control parameterContainer) in c:\windows\microsoft.net\framework\v1.1.4322\Config\DefaultWsdlHelpGenerator.aspx:1435
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +27
   System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +29
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +72
   System.Web.UI.Control.Render(HtmlTextWriter writer) +7
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
   System.Web.UI.Page.ProcessRequestMain() +1929 


Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573


The problem was that autoEventWireup was disabled in machine.config. DefaultWsdlHelpGenerator.aspx bombs as it requires the autoEventWireup to be true. You can fix it by adding the following to Web.Config in the site that hosts the web service:



<configuration>
   <system.web>
      <pages autoEventWireup="true" />
   </system.web>
</configuration>


KB324151 has more info on How to use the AutoEventWireup attribute in an ASP.NET Web Form by using Visual C# .NET

Thursday, August 25, 2005

1261.aspx

Happy birthday Linux

Today is the "birthday" of Linux:



From: torvalds@klaava.Helsinki.FIN (Linus Benedict Torvalds)
Summary: small poll for my new operating system
Date: 25 Aug. 1991 20:57:08 GMT
Organization: University of Helsinki


I'm doing a (free) operating system (just a hobby, won't be big and professional like GNU) for 386 AT clones.


This year Linus asked 90 companies in Australia to purchase a license from the Linux Mark Institute. Wonder what surprises are in store for us next year when Linux turns 15.

Monday, August 22, 2005

1256.aspx

Blog anniversary

1 year ago I finally took the leap and wrote my first posts. Initially I managed to meet my goal of 1 post per blog per day but I fell behind schedule at several times during the year. 517 posts in one in one year is not too bad though.


I never believed blogging would be so gratifying and fun:



  • CoolOrWhat: What can I say; I love gadgets and I am more like Dilbert than I like to admit. CoolOrWhat brings me more spam than the other blogs combined but also the most satisfying  moments; one comment and one e-mail from Scott Adams regarding my DRM battles… (duly backed up on read only media stored in separate countries :-)
  • egilh.com: gives me a chance to give something back to the net. There is a lot of information on the internet but once in a while you end up banging your head against the coffee machine in the middle of the night when google doesn't know the answer. I do my best to share hard learned experiences and I'm glad to see that most of my traffic comes from google searches for strange error messages.
  • traffic or vendors giving away my e-mail address to spammers. I removed the post regarding the spam as the CEO of the company discovered my post ASAP, found the guilty person and apologized via e-mail. I never realized a tiny blog could have so much power.

I am glad to see that the posts with the most hits are the posts that I had the most fun writing or that took a lot of effort to write:


Sunday, August 21, 2005

1252.aspx

Access denied error '80070005' with msxml4 on Win2k3

This error drove me nuts the first time I saw it:



msxml4.dll error '80070005'
Access is denied.


I got it making a simple http request using MSXML with VBScript:



set oXMLRequest = CreateObject("MSXML2.ServerXMLHTTP.4.0")
oXMLRequest.open "GET", “http://www.microsoft.com“, false
oXMLRequest.send


The problem is that the default policy on Win2k3 prevents browsing from the server. Using Microsoft XML 3.0 works but 4.0 is better.


The following registry patch fixes the problem (as always; use at your own risk):



Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\CurrentVersion\Internet Settings]
"Security_HKLM_only"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1]
"1601"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2]
"1601"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]
"1601"=dword:00000000

Wednesday, August 10, 2005

1236.aspx

Running multiple web sites on Windows XP

IIsAdmin.NET  extends the features of IISAdmin and allows you to create and manage multiple web sites on Windows XP:




Another solution is Easy IIS. Both options come with source code.


If you don't care about the source code, you can use iis_multiplex  (download) which uses the host header feature to run multiple web sites on the same site

Thursday, August 4, 2005

1218.aspx

Error installing Series 60 MIDP SDK for Symbian OS

Interesting times ahead; it looks like I will be working on a location aware application for Nokia Series 60 phones. It will involve a lot of interesting technologies like Bluetooth, GPS, Symbian OS, SMS Messaging etc.


I downloaded both the C++ and the Java version of the Series 60 SDK to evaluate which technology is better suited to implement the application. The C++ version installed without problems but "scared" me a bit as the APIs are very different from programming under Windows or Palm. The J2ME version looks a lot simpler but the installation bombed with this nasty message:



The instruction at 0x00421cb0 referenced memory at "0x00000000". The memory could not be "written"


The message rang a bell, but I didn't remember what it was until I rebooted my PC and got this message:


The problem is the Data Execution Protection included in Windows 2003 Service Pack 1. It may be a great technology but it is the second time it gives me problems. The fix is simple:



  • Open System Properties, click Start, click Control Panel, and then double-click System.

  • Click the Advanced tab and, under Performance, click Settings.

  • Click the Data Execution Prevention tab.

  • Select “InstallAnywhere Self Extractor“ in the “Turn on DEP for all programs and services except those I select“ list

Run the Java SDK setup another time and it works.


These are the pieces I will use for the application:



I cannot wait to get started...

1217.aspx

How to enable remote access to MSDE

I use Microsoft SQL Server Desktop Engine 2000 for all my personal projects including the blogs. It is free and comes with the most important features of SQL Server like views, stored procedures, backup etc. It has some limitations in terms of performance when there are many parallel queries but that is not a problem for my small projects. The only thing that bugs me is that it cannot be administered from remote.


Or, it used to bug me, until I found the trick that allows remote access and administration of MSDE:



  • Click Start, Run

  • Enter svrnetcn.exe too run the "SQL Server Network Utility"

  • Select "TCP/IP" from the Disabled protocols and click "Enable >>“ as the image below shows


Or if you prefer to do it the difficult and dangerous way; import these registry settings:



[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]
"ProtocolList"=hex(7):74,00,63,00,70,00,00,00,00,00


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp]
"TcpHideFlag"=dword:00000000
"TcpDynamicPorts"=""
"TcpPort"="1433"


That's it!


You can now access MSDE remotely with SQL Server Enterprise Manager, Microsoft Access or one of the free tools like MSDE Query Tool

Tuesday, August 2, 2005

1213.aspx

17th International Olympiad in Informatics - 18-25 August 2005

The 17th International Olympiad in Informatics be held in Poland, 18-25 August 2005


Each participating country  usually sends a delegation of four pupils less than 20 years old. The pupils compete individually and try to maximize their score by solving a set of informatics problems during two competition days. The problems have been algorithmic programming problems to be solved on a personal computer.


The tests from 2004 can be found online


Best wishes for the competitors

Monday, August 1, 2005

1208.aspx

Sydney keeps getting bigger

It is very warm these days so I guess Sydney would love the "Canine Cooler" (I know I would :-). Adjusting for humidity the temperature is over 40 degrees which is way too much for me. Sydney adjusts better as he can stay fresh by playing with the the water sprinkling system most of the day.


The latests picture was taken with a mobile phone so it doesn't give his great looking eyes much justice;


 I guess I better take another one while it is still warm so he sits still for 5 consecutive seconds...
 

1207.aspx

Free Shareware Starter Kit

The free Shareware Starter Kit is a set of .NET 2.0 classes that manages the must have features for shareware applications:



  • Payment via PayPal

  • Product Activation

  • Product Registration

  • Event/Error Reporting

  • Product Feedback.

I will continue to give away the downloads on the site for free but the registration/feedback features are tempting. A scaled down version for the Pocket PC would be handy as well.


Via [Jeff Sandquist]