Is there some methods to create SOAP-requests and to get SOAP-responses in .net-4.5? Which extentions I should to install, if it's necessary?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can use SOAP services via the "Add Service Reference" function in Visual Studio. Behind the scenes, this will call svcutil
to convert the .wsdl
into .cs
service prototypes.
The .Net Framework includes both WCF, which is the newer and recommended network communication framework, as well as .Net Remoting, which is more compatible with some non-.Net SOAP endpoints.
See
- Introduction to WCF (MSDN)
- This answer to a similar question addressing WCF from a SOAP perspective
- Walkthrough: Creating and accessing WCF Services (MSDN)
- what is WSDL URI in WCF?
- Adding Custom [SOAP]
MessageHeader
s to a WCF Call (MSDN Blog)
Example
For the service located at http://www.webservicex.net/currencyconvertor.asmx?WSDL:
- Generate the client proxy
svcutil http://www.webservicex.net/currencyconvertor.asmx?WSDL
- Rename the config produced
move output.config program.exe.config
- Create a test client:
Program.cs:
using System;
using www.webservicex.net;
class Program
{
public static void Main(string[] args)
{
var client = new CurrencyConvertorSoapClient("CurrencyConvertorSoap");
var conv = client.ConversionRate(Currency.USD, Currency.EUR);
Console.WriteLine("Conversion rate from USD to EUR is {0}", conv);
}
}
- Compile
csc Program.cs CurrencyConvertor.cs
- Run:
c:\Drop\soaptest>Program.exe
Conversion rate from USD to EUR is 0.7221