I have an internal enterprise app that currently consumes 10 different web services. They're consumed via old style "Web References" instead of using WCF.
The problem I'm having is trying to work with the other teams in the company who are authoring the services I'm consuming. I found I needed to capture the exact SOAP messages that I'm sending and receiving. I did this by creating a new attribute that extends SoapExtensionAttribute. I then just add that attribute to the service method in the generated Reference.cs file. This works, but is painful for two reasons. First, it's a generated file so anything I do in there can be overwritten. Second, I have to remember to remove the attribute before checking in the file.
Is There a better way to capture the exact SOAP messages that I am sending and receiving?
This seems to be a common question, as I just asked it and was told to look here.
You don't have to edit the generated Reference.cs
. You can reference the extension in your application's app.config
.
Is this a webapp?
Place your SoapExtension code in a HTTPModule, and inject the SOAP envelope into the HTTPOutput stream.
That way, when in debug mode, I picture something like a collapsible div on the top of the page that lists all SOAP communication for that page.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With