IIS Problem with Google Base XML Feed
Just ran into a really odd problem with a client using Microsoft IIS to produce a Google Base XML feed. After a number of years with the feed working fine it seems that a little while back the feed stopped working for no obvious reason. The application was written in C# reading a SQL Server database and outputting a XML data stream that is then fetched by the Googlebase robot.
The problem symptoms were that the feed stopped outputting anything and the server closed the connection with the client.
I decided to update the application to use the XmlTextWriter class – perhaps IIS was changed to force the use of this new interface – but that didn’t help.
After much digging it turned out that adding attributes to the <rss> tag was causing the issue – remove the attributes and the application ran fine but then Google Base would not accept the feed as it didn’t declare the version or the namespaces required.
Some more digging and I found that the <rss> tag would allow attributes if the <channel> tag was missing.
Further digging showed that the <channel> tag would be acceptable if it had attributes. Now the Googlebase spec and the RSS 2.0 does not allow for the <channel> tag to have attributes. So to get around this I added a dummy attribute to the <channel> tag and that allowed the application to output the Googlebase feed without a hitch, would allow the feed to be rendered by Firefox. I have now resubmitted the feed to Googlebase and hopefully it will be accepted.