.NET 4.5 - 通过HttpPost发送SOAP请求

时间:2016-01-07 19:52:45

标签: c# soap wsdl http-post .net-4.5

我正在编写一个使用SOAP Web服务的.NET应用程序。当我发送SOAP请求时,我从服务器收到错误。错误要检查的一件事是我通过HTTP Post发送请求,但我不知道如何检查这个。我正在从第三方提供的WSDL构建我的代码,所以我正在调用他们定义的函数来触发请求。那么如何告诉它通过HttpPost提交?

我用这个简单地装饰了我的功能:

[System.Web.Script.Services.ScriptMethod(UseHttpGet = false)]

但我认为这不是我所需要的。从我读过的内容来看,只有当一个函数可以直接从脚本中调用时才会使用,而这并不是我写的。此外,即使它很有用,这些功能显然默认为HttpPost。

我也想知道我是否可以在web.config中设置它 - 可能在绑定部分?

到目前为止,我通过POST发送SOAP请求时看到的示例适用于.NET 4.0,或者它们使用 HttpWebRequest 类。但是因为我必须通过WSDL中定义的函数提交请求,所以我认为这个类不会帮助我......

非常感谢任何建议!

1 个答案:

答案 0 :(得分:1)

我要做的第一件事是使用Fiddler之类的工具检查当前如何发送请求,这样可以检查传入和传出的Web请求。通常,SOAP WSDL编写为根据需要使用POSTsetItems(),因此它不应该是您必须更改的内容。

如果它实际上是作为GET请求发送,那么这是值得修复的东西,但我怀疑它不是。更有可能的是,该请求还存在其他一些问题,您收到的警告只是一个通用提示,并不是特定于您的请求有什么问题。