c# - Asmx Webservice方法接收一个soap xml输入字符串
问题描述
再会。
我希望有人可以帮助我。我正在创建一个 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 肥皂消息时,它是空的。然后我所做的是使用与我的 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 字符串,并且我可以像从过去使用的 Web 服务接收回 xml 消息时那样处理该消息。
如果我重复了一个问题,请原谅我,我找不到任何可以给我明确答案的东西。
我已经开始在 Visual Studio 2019 中创建 Web 服务。
任何帮助或建议将不胜感激。
解决方案
推荐阅读
- java - 未找到用于签名配置“发布”颤振的密钥库文件
- bash - Bash如何从参数解析关联数组?
- python - 如何过滤和限制 PyTube 下载的文件大小?
- javascript - 在shopify中用积分付款之前不要创建新订单?
- c# - Partials 是在 ASP.net MVC 中创建向导模板的好方法吗?
- php - PHP Symfony X.509 身份验证
- spring-boot - 登录 NullPointerException 时 Spring Security 无法访问 userService
- javascript - 如何制作一个动态 JSON.parse() 函数来解析本地存储中所有声明的项目
- prestashop - 如何在自定义模块的视图中列出产品?(PS 1.7)
- objective-c - Swift 和@objc 方法:如何转换一个方法以便它可以由@objc 表示?