tags:

views:

4

answers:

0

I'm trying to use content based routing to route my requests to different versions of the web service depending on what they pass into the "UserName" parameter. Thus one user may get presented version 1 of my web service and another gets version 2 of my web service.

After much research, I stumbled upon WSE and found an example here: http://msdn.microsoft.com/en-us/library/ms824681.aspx

So I created a C# class library and then added the handler to my web.config like so:

<httpHandlers>
  <remove verb="*" path="*.asmx"/>
  <add verb="*" path="*.asmx" type="ServiceRouter.ServiceRouter, ServiceRouter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx" />
</httpHandlers>

The PublicKeyToken in the example above is masked. On the actual server, it is correct. Anyway, when I run this, I get an error back that says "Message Information Header Required". I have no idea where to go from here. Any clues?

UPDATE:

It looks like I'm getting this error because my service calls from my C# programs are not setting WSA headers. So I guess my question is now, how do I get the router to ignore this or modify the header myself to put in some arbitrary values so that the service router is satisfied? Modifying the client code will defeat the whole purpose of me creating this router, so that's not an option.