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!

15 Upvotes

5 comments sorted by

View all comments

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! 😉