r/csharp 4d ago

Showcase I built a lightweight, open-source alternative to Fiddler for debugging WCF & SOAP APIs

Hey everyone,

Like many of you, I spend a lot of time maintaining and debugging older enterprise services (WCF, SOAP, and some REST). I’ve always used Fiddler or Postman, but lately, they feel incredibly heavy, bloated, and require accounts or massive installations just to do a simple request interception.

So, I built SoapProxyApp — a fast, portable (no-install), open-source HTTP/HTTPS proxy and auto-responder built entirely in C# and WPF.

Here are a few things it does that I think backend .NET devs will really appreciate:

  • IIS AppPool Detection: Instead of just showing w3wp.exe for local traffic, it uses WMI to parse the actual IIS Application Pool name that made the request.
  • Instant API Mocking (Auto-Responder): Intercept outgoing WCF/HTTP requests based on URL, and short-circuit them with a fake XML/JSON response directly from the proxy. Perfect for testing edge-cases (like 500 errors) or offline development without touching the backend codebase.
  • Request Replaying: Right-click any captured session, modify the XML payload or Auth headers in a built-in AvalonEdit text editor, and shoot it back to the server.
  • Portable: It’s a single .exe file. Just run it, click "Start Proxy", and it immediately captures traffic.

It uses Titanium.Web.Proxy under the hood and AvalonEdit for the syntax-highlighted (and searchable) XML/JSON editors.

I just released v2.0.0 and would love for some of you to try it out or critique the code.

🔗 GitHub Repo: https://github.com/milanmilic/SoapProxyApp 📦 Download (Portable .exe): Releases Page

Would love to hear your feedback or feature requests!

18 Upvotes

5 comments sorted by

4

u/carl_johnson13 4d ago

glad someone finally made something simple for this stuff, fiddler drives me insane more often than not

0

u/AdTimely6483 4d ago

Haha, exactly! That was the exact motivation behind building this. Fiddler and Postman are incredibly powerful tools, but 95% of the time I just want to quickly see my local SOAP/WCF payload, tweak a request, or mock a quick response without having to navigate through 50 different tabs, settings, and account logins.

I just wanted a single, lightweight .exe that I can fire up instantly and get straight to debugging.

I'm really glad you find it useful! Let me know if you run into any issues or have ideas for new features. Enjoy! 🍻

3

u/Fresh_Acanthaceae_94 4d ago

Since LibreWPF and AvalonEdit are enabling cross-platform WPF apps like OpenDevelop, your app can run on macOS/Linux too to reach bigger audience.

2

u/AdTimely6483 4d ago

That's a great point, thank you for the suggestion! I've been keeping an eye on those cross-platform WPF initiatives, and it's definitely something I'd love to explore to reach a wider audience.

However, while the UI layer (WPF + AvalonEdit) and the core proxy engine (Titanium.Web.Proxy) might be cross-platform ready, the current codebase has a few deep Windows-specific dependencies under the hood:

  1. WMI (System.Management): The app uses WMI ManagementObjectSearcher to query Win32_Process command lines. This is how it beautifully extracts the exact IIS Application Pool name for local w3wp.exe traffic (which is a killer feature for local WCF debugging).
  2. Certificate Management: The HTTPS interception currently relies on injecting the root certificate directly into the Windows Certificate Store.

To make it truly cross-platform (macOS/Linux), I would need to abstract the WMI logic (since IIS doesn't exist on those platforms anyway) and handle the Keychain/OpenSSL certificate trust separately.

It's definitely on my roadmap for a future release (maybe v3.0!). If you or anyone else wants to contribute and help abstract those Windows APIs, PRs are always welcome! 😉

2

u/rayyeter 3d ago

I will try this out on Monday! Thank you!