[英]Asmx Webservice Method to receive an soap xml input string
再会。
我希望有人可以帮助我。 我正在创建 web 服务(这是我第一次创建 web 服务)。 我过去曾从客户端通过创建 soap xml 消息并来回发送和接收消息来使用 web 服务/API。 现在我需要创建自己的 web 服务,并且需要一些帮助来正确创建它。
我最初创建了一个简单的 web 方法,如下所示。
[WebMethod(Description = "Soap Request")]
public string Request(string xmlDocument)
{
//do work
}
但是当我尝试使用此方法时,我收到以下错误:
System.Web.HttpRequestValidationException:从客户端检测到潜在危险的 Request.Form 值
然后我尝试(在谷歌搜索后)将方法更改如下:
[WebMethod(Description = "Soap Request")]
public string Request(XmlDocument xmlDocument)
{
//do work
}
但这似乎也不起作用,当我尝试向此方法发送 xml soap 消息时,它是空的。 然后我所做的是使用与我的 xml Soap 消息中的元素匹配的参数创建方法。 然后该方法拾取每个元素并正确填充参数,如下所示。
public void Request(string parm1, string parm2)
{
//do work
}
与以下 xml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:Request>
<tem:Parm1>111</tem:Parm1>
<tem:Parm2>222</tem:Parm2>
</tem:Request>
</soapenv:Body>
</soapenv:Envelope>
我想知道,这是处理传入消息的正确方法还是我应该做些什么来接受传入的 xml 消息? 我认为我可以像我最初所做的那样创建该方法,它将接受传递给它的 xml 字符串,并且我可以像从 Z2567A5EC9705EB7AC2C984033E 接收到 xml 消息时所做的那样处理该消息。
如果我重复了一个问题,请原谅我,我找不到任何可以给我明确答案的东西。
我已经开始在 Visual Studio 2019 中创建 web 服务。
任何帮助或建议将不胜感激。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.