尝试创建一个C#客户端(将作为Windows服务开发),将SOAP请求发送到Web服务(并获取结果).
从这个问题我看到了这段代码:
protected virtual WebRequest CreateRequest(ISoapMessage soapMessage)
{
var wr = WebRequest.Create(soapMessage.Uri);
wr.ContentType = "text/xml;charset=utf-8";
wr.ContentLength = soapMessage.ContentXml.Length;
wr.Headers.Add("SOAPAction", soapMessage.SoapAction);
wr.Credentials = soapMessage.Credentials;
wr.Method = "POST";
wr.GetRequestStream().Write(Encoding.UTF8.GetBytes(soapMessage.ContentXml), 0, soapMessage.ContentXml.Length);
return wr;
}
public interface ISoapMessage
{
string Uri { get; }
string ContentXml { get; }
string SoapAction { get; }
ICredentials Credentials { get; }
}
Run Code Online (Sandbox Code Playgroud)
看起来不错,任何人都知道如何使用它,如果这是最好的做法?
我拼命地寻找一种安装方法,svcutil.exe因为我在这里和其他地方读到,这是将WSDL编译为C#代码的方法。我通过Windows SDK安装进行了尝试,该安装产生了大约1K个安装程序的文件夹,我不知道该从哪个目录开始。任何指导表示赞赏。
注意:我目前正在使用Visual Studio 2017预览版,这与某种方式相关吗?