Client.lastRequest - the property that contains last full soap request for client logging Client.setEndpoint(url) - overwrite the SOAP service endpoint address Client Events. Client instances emit the following events: request. Emitted before a request is sent. The event handler has the signature (xml, eid). The client contains one method (getCountry) that does the actual SOAP exchange. In this method, both the GetCountryRequest and the GetCountryResponse classes are derived from the WSDL and were generated in the JAXB generation process (described in Generate Domain Objects Based on a WSDL ).
Hello there, fellow enterprise developer. Before we get to the solution to our problem, let’s take a minute to close our eyes and reflect on our past decisions that led us to this moment. What could we have done differently? Was SOAP inevitable? Is pain a necessary aspect of joy? Ok, now open your eyes, and we can face this reality together.
C# Soap Client
This post will show how we can consume a SOAP web API in our .NET Core projects. The steps we will take are few, but the value we derive will be limitless. Let’s get started!
Step 1. Install .NET Core 2.1
We will be using a .NET Core tool, which targets .NET Core 2.1. Don’t skip this step; we need .NET 2.1 and not some other version of the SDK.We can download the installer for our specific operating system on the .NET site.. This tool targets 2.1 and that is why we need to install this SDK specifically.
Step 2. Tool Manifest
In all likelihood, we only need to use SOAP in one of our projects, so its recommended to use a local tool manifest. In our solution directory, we can run the following command.
When the command completes successfully, we will see a .config/dotnet-tools.json
file—the JSON file stores our installed .NET tools.
Step 3. Install dotnet-svcutil
Tool
We need to install the dotnet-svcutil
tool. We can install it locally by running the following command.
We can install the tool globally for those of us that will be dealing with multiple SOAP APIs.
Step 3. Generating The Service Client
We’re almost nearing the end of this post. From the command line, we need to generate our web service reference. In our project directory, not solution directory, we need to run the following command.
There are many public SOAP APIs, and we can test the process using a text casing API found at here.
When running the command, we should see the tool output the results.
The dotnet-svcutil
will update our .csproj
file with the necessary System.ServiceModel
dependencies. The tool will also create a new ServiceReference
folder with two files: dotnet-svcutil.params.json
and Reference.cs
. The Reference.cs
file will have the C# implementation of our SOAP API.
Step 4. Consuming the SOAP API
Consuming the newly generated SOAP interface in our code is as straight-forward as new Client()
; depending on the SOAP client we generated, the name will be different. Let’s look at the implementation from our SOAP service listed above.
Conclusion
Soap Client
The dotnet-svcutil
works on multiple different types of web services, including WCF. Anyone interested in the tool’s capabilities can run dotnet dotnet-svcutil -h
to see all the options available to us. For folks who need more information on the tool, [you can find the documentation here].(https://docs.microsoft.com/en-us/sharepoint/dev/general-development/step-2-adding-a-web-reference).
Soap Client Firefox
Go forth enterprise developer, and SOAP on! Thanks for reading, and let me know in the comments if this post helped.
Comments are closed.