SoapClientCallAssist 2.0.0.380

dotnet add package SoapClientCallAssist --version 2.0.0.380
                    
NuGet\Install-Package SoapClientCallAssist -Version 2.0.0.380
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SoapClientCallAssist" Version="2.0.0.380" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SoapClientCallAssist" Version="2.0.0.380" />
                    
Directory.Packages.props
<PackageReference Include="SoapClientCallAssist" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SoapClientCallAssist --version 2.0.0.380
                    
#r "nuget: SoapClientCallAssist, 2.0.0.380"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SoapClientCallAssist@2.0.0.380
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SoapClientCallAssist&version=2.0.0.380
                    
Install as a Cake Addin
#tool nuget:?package=SoapClientCallAssist&version=2.0.0.380
                    
Install as a Cake Tool

This repository provides a simple solution to call/invoke SOAP (WCF, ASMX) service using only basic definitions.

Through basic definition is meaning: Action, XML, HTTP method and others.

If you ever worked with SOAP services, you know that every service needed to be called must be added as a service reference and with a few configurations can be invoked in dependence on the specifications. But whenever the source service is changed/added or deleted you will get an exception if changes affect something you can see (methods definition, result, etc).

A single solution, in this case, is to update the service reference(configuration) from the source URL or update the configuration from WSDL, but in some cases, it may be tough, impossible, complicated, or too may take much time to obtain WSDL or access to the resource.

So the basic idea is to avoid this dependency on the WSDL service definition and build requests with minimum required info. This repository is created to improve your experience in a positive direction and make your work easy with productive time spent.

On top of the raw envelope builder, the library also ships an attribute-driven model mapper (ISoapModelMapper). Instead of composing XElement trees by hand for every request, you decorate a plain C# class with [SoapContract] and [SoapMember] and let the mapper turn it into the SOAP body, then bind the response straight back into a model of your choice.

Outgoing messages can also be signed with WS-Security, the certificate, the signed parts and the algorithms all configured per request through SoapSecurityDto. Verifying the signature on the response is a separate, explicit call and is never done for you, see the WS-Security section of the usage doc.

The same SoapSecurityDto selects one of four WS-Security modes, and refuses by code any combination it cannot build: the asymmetric X.509 signature above, a token-only header (a UsernameToken with a text or digest password, or a SAML assertion), the WS-Security 1.1 symmetric binding a WCF wsHttpBinding in Message mode speaks (encrypted key, derived keys, HMAC signature, optional body and signature encryption), and WS-SecureConversation sessions issued and cancelled through SoapSecureConversationClient. See Security header modes, UsernameToken, Symmetric binding, SAML and Secure conversation.

A response to a symmetric or secure-conversation request is checked against the request that was sent, through the standalone ISoapResponseSecurity service, whose DecryptAndVerify decrypts and verifies in one atomic operation and whose per-request key material is single-use; see Response security. A send that gets a non-2xx status is a failed result that still carries the HttpResponseMessage, under a code naming the status class, see the send contract.

A client certificate, proxy or custom handler is attached through the named HttpClient the library sends through, see the HTTP transport section. Transport authentication (mTLS with a pinned server certificate, Negotiate/NTLM with the process identity; Kerberos is not provided) is configured on that same handler, see Transport authentication.

The test suites, the real WCF and IIS Express hosts they run against, and the environment variables they read are described under Test environment.

To understand more efficiently how you can use available functionalities please consult the using documentation/file.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0.380 49 9/18/2026
1.0.5.7407 2,581 1/10/2025
1.0.4.5737 694 10/10/2024
1.0.3.8507 318 9/22/2024
1.0.2 256 9/22/2024