Pregunta

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?

¿Fue útil?

Solución

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

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top