我有一个带有一个公开方法GetData的Web服务。它接受一个字符串作为输入参数并返回另一个字符串。我可以使用带有以下请求的测试工具来调用Web方法。
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<GetData xmlns="http://tempuri.org/">
<value>Enter my value</value>
</GetData>
</s:Body>
</s:Envelope>
我是否可以获得一些有关如何在C#windows应用程序中调用相同内容的帮助,而无需使用代理引用和使用端点详细信息。 (实施例:HTTP:// mymachine上:1415 / MyService.svc)
答案 0 :(得分:3)
using (WebClient wc = new WebClient())
{
var result = wc.UploadString("http://localhost.:1415/MyService.svc", request);
}
修改强>
XNamespace s = "http://schemas.xmlsoap.org/soap/envelope/";
XNamespace tempUri = "http://tempuri.org/";
var xDoc = new XDocument(
new XElement(
s + "Envelope",
new XAttribute(XNamespace.Xmlns + "s", s),
new XElement(
s + "Body",
new XElement(
tempUri+ "GetData",
new XElement(tempUri + "value","Enter my value")
)
)
)
);
var request = xDoc.ToString();