Class BowireSoapProtocol
- Namespace
- Kuestenlogik.Bowire.Protocol.Soap
- Assembly
- Kuestenlogik.Bowire.Protocol.Soap.dll
Bowire protocol plugin for SOAP / WSDL 1.1 endpoints. Discovery
fetches the WSDL document (either the URL the user typed directly,
or the URL with ?wsdl appended), parses PortType operations
- SOAP bindings into BowireServiceInfo entries, and invocation wraps the JSON-form payload in a SOAP envelope before POSTing it to the operation endpoint.
public sealed class BowireSoapProtocol : IBowireProtocol, IDisposable
- Inheritance
-
BowireSoapProtocol
- Implements
- Inherited Members
Remarks
SOAP 1.1 is the default wire version; passing soap_version=1.2
in the invoke metadata flips both the envelope namespace and the
Content-Type header per WS-I BP 1.1.
Streaming and channel surfaces aren't part of the SOAP wire — every SOAP operation is request/response. The plugin returns empty streams + null channels accordingly.
Constructors
BowireSoapProtocol()
public BowireSoapProtocol()
Properties
Description
One-line description shown next to the plugin's display name
in Settings → Plugins. Optional; defaults to empty so
the row falls back to "DisplayName + version" without the
description line. Keep it short (≤ 100 characters) — the row
truncates anything wider than the manage panel.
public string Description { get; }
Property Value
IconSvg
SVG icon for the protocol tab.
public string IconSvg { get; }
Property Value
Id
Short identifier (e.g., "grpc", "signalr").
public string Id { get; }
Property Value
Name
Protocol name shown in UI tabs.
public string Name { get; }
Property Value
Settings
Settings schema this plugin contributes to the Settings dialog. Each entry becomes a toggle/input in the plugin's section. Default implementation returns empty (no plugin-specific settings).
public IReadOnlyList<BowirePluginSetting> Settings { get; }
Property Value
Methods
DiscoverAsync(string, bool, CancellationToken)
Discover available services and methods.
public Task<List<BowireServiceInfo>> DiscoverAsync(string serverUrl, bool showInternalServices, CancellationToken ct = default)
Parameters
serverUrlstringshowInternalServicesboolctCancellationToken
Returns
Dispose()
Dispose the lazily-built HttpClient. Owners (registry or test 'using var') release the handler at scope exit.
public void Dispose()
Initialize(IServiceProvider?)
Called after registration to inject the app's service provider (embedded mode).
public void Initialize(IServiceProvider? serviceProvider)
Parameters
serviceProviderIServiceProvider
InvokeAsync(string, string, string, List<string>, bool, Dictionary<string, string>?, CancellationToken)
Invoke a unary or client-streaming call.
public Task<InvokeResult> InvokeAsync(string serverUrl, string service, string method, List<string> jsonMessages, bool showInternalServices, Dictionary<string, string>? metadata = null, CancellationToken ct = default)
Parameters
serverUrlstringservicestringmethodstringjsonMessagesList<string>showInternalServicesboolmetadataDictionary<string, string>ctCancellationToken
Returns
InvokeStreamAsync(string, string, string, List<string>, bool, Dictionary<string, string>?, CancellationToken)
Invoke a server-streaming or duplex call.
public IAsyncEnumerable<string> InvokeStreamAsync(string serverUrl, string service, string method, List<string> jsonMessages, bool showInternalServices, Dictionary<string, string>? metadata = null, CancellationToken ct = default)
Parameters
serverUrlstringservicestringmethodstringjsonMessagesList<string>showInternalServicesboolmetadataDictionary<string, string>ctCancellationToken
Returns
OpenChannelAsync(string, string, string, bool, Dictionary<string, string>?, CancellationToken)
Open an interactive channel (for duplex/client-streaming).
public Task<IBowireChannel?> OpenChannelAsync(string serverUrl, string service, string method, bool showInternalServices, Dictionary<string, string>? metadata = null, CancellationToken ct = default)
Parameters
serverUrlstringservicestringmethodstringshowInternalServicesboolmetadataDictionary<string, string>ctCancellationToken