Designing Your Own Reporting Service: A Web Service to Convert XML to HTML Using XSL (Page 1 of 7 )
A downloadable file for this article is available here.
The sample downloadable solution (WSXML2HTML) is entirely developed using Visual Studio.NET 2003 Enterprise Architect on Windows Server 2003 Standard Edition. Even though I didn’t really test the solution on any of the previous Windows OSes, I believe it should work on any Windows OS supported by the .NET Framework 1.1. If it is not working, do not hesitate to drop me a line.
Brief explanation of an “XML to HTML” XML Web Service
I already contributed several articles explaining Web Services along with SOA (Service Oriented Architecture) which you can read over at www.devshed.com. So, we will not go through the basics of web services any further in this article. I also assume that you have an understanding of how to create basic Web Services using Visual Studio.NET.
The XML web service, which we are going to develop now, simply accepts an XML string (which is really of type “string”) and converts it to HTML based on the XSL stayed (hosted) at the server. Once we host this XML Web Service, we can access it in any application of any platform using any language, even remotely!
Let us come to the discussion of the inner workings of the “XML to HTML” Web service. Even though the main method is “BuildHTMLString”, the heart (or processing) of the entire XML web service is divided into two “private” methods as follows:
“GetXSLLocation” is a very simple method, which returns the path of the XSL file defined specified within “Web.Config” file. The method has been used just for the sake of clarity and not necessary to give very much importance at the moment. The entire logic is defined within “GenerateHTMLString” method (which is considered to be the heart of our web service).
Now, let us stop the stories and start developing it.