.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Home >> Code Snippets >> Ajax >> Post New Resource Bookmark and Share   

 Subscribe to Code Snippets

code example is an HTTP Module

Posted By:Jegan R       Posted Date: November 03, 2010    Points: 15    Category: Ajax    URL: http://www.dotnetspark.com  

The following code example is an HTTP Module that parses HTTP messages for SOAP requests. If the HTTP message is a SOAP message, the custom WebServiceAuthenticationEvent is raised.

using System;
using System.Web;
using System.IO;
using System.Xml;
using System.Xml.XPath;
using System.Text;
using System.Web.Services.Protocols;
namespace Microsoft.WebServices.Security {
      public sealed class WebServiceAuthenticationModule : IHttpModule 
         private WebServiceAuthenticationEventHandler 
                       _eventHandler = null;
         public event WebServiceAuthenticationEventHandler Authenticate 
           add { _eventHandler += value;}
           remove {_eventHandler -= value;}
         public void Dispose() 
         public void Init(HttpApplication app) 
           app.AuthenticateRequest += new
         private void OnAuthenticate(WebServiceAuthenticationEvent e) 
           if (_eventHandler == null)
             _eventHandler(this, e);
             if (e.User != null)
                e.Context.User = e.Principal;
         public string ModuleName
           get{ return "WebServiceAuthentication"; }
         void OnEnter(Object source, EventArgs eventArgs) {
           HttpApplication app = (HttpApplication)source;
           HttpContext context = app.Context;
           Stream HttpStream = context.Request.InputStream;
           // Save the current position of stream.
           long posStream = HttpStream.Position;
           // If the request contains an HTTP_SOAPACTION 
           // header, look at this message.
           if (context.Request.ServerVariables["HTTP_SOAPACTION"]
                          == null)
           // Load the body of the HTTP message
           // into an XML document.
           XmlDocument dom = new XmlDocument();
           string soapUser;
           string soapPassword;
             // Reset the stream position.
             HttpStream.Position = posStream;
             // Bind to the Authentication header.
             soapUser =
             soapPassword =
           catch (Exception e) 
             // Reset the position of stream.
             HttpStream.Position = posStream;
             // Throw a SOAP exception.
             XmlQualifiedName name = new
             SoapException soapException = new SoapException(
                       "Unable to read SOAP request", name, e);
             throw soapException;
           // Raise the custom global.asax event.
           OnAuthenticate(new WebServiceAuthenticationEvent
                        (context, soapUser, soapPassword));


Further Readings:


No response found. Be the first to respond this post

Post Comment

You must Sign In To post reply
Find More code samples in C#, ASP.Net, Vb.Net and more Here

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend