.NET 4.5 -- 通过 HttpPost 发送 SOAP 请求
.NET 4.5 -- Send SOAP request via HttpPost
我正在编写一个使用 SOAP Web 服务的 .NET 应用程序。当我发送我的 SOAP 请求时,我从服务器收到一个错误。错误说要检查的一件事是我正在通过 HTTP Post 发送请求,但我不确定如何检查它。我正在根据第 3 方提供的 WSDL 构建我的代码,因此我正在调用他们定义的函数来触发请求。那么我如何告诉它通过 HttpPost?
提交呢?
我用这个简单地修饰了我的函数:
[System.Web.Script.Services.ScriptMethod(UseHttpGet = false)]
但我认为这不是我需要的。据我所知,只有在可以直接从脚本调用函数时才使用它,而我并不是这样写的。此外,即使它很有用,这些函数显然默认为 HttpPost。
我也想知道我是否可以在 web.config 中设置它——也许在绑定部分?
到目前为止我看到的关于通过 POST 发送 SOAP 请求的示例要么适用于 .NET 4.0,要么它们使用 HttpWebRequest class .但是由于我必须通过 WSDL 中定义的函数提交请求,所以我认为 class 对我没有帮助...
非常感谢任何建议!
我要做的第一件事是使用 Fiddler 等工具检查请求的当前发送方式,该工具可让您检查传入和传出的 Web 请求。通常,SOAP WSDL 被编写为根据需要使用 GET
或 POST
,因此您不必更改它。
如果它实际上是作为 GET 请求发送的,那么这是值得修复的问题,但我怀疑它不是。更有可能是请求存在其他问题,您收到的警告只是一般性提示,并不具体说明您的请求有什么问题。
我正在编写一个使用 SOAP Web 服务的 .NET 应用程序。当我发送我的 SOAP 请求时,我从服务器收到一个错误。错误说要检查的一件事是我正在通过 HTTP Post 发送请求,但我不确定如何检查它。我正在根据第 3 方提供的 WSDL 构建我的代码,因此我正在调用他们定义的函数来触发请求。那么我如何告诉它通过 HttpPost?
提交呢?我用这个简单地修饰了我的函数:
[System.Web.Script.Services.ScriptMethod(UseHttpGet = false)]
但我认为这不是我需要的。据我所知,只有在可以直接从脚本调用函数时才使用它,而我并不是这样写的。此外,即使它很有用,这些函数显然默认为 HttpPost。
我也想知道我是否可以在 web.config 中设置它——也许在绑定部分?
到目前为止我看到的关于通过 POST 发送 SOAP 请求的示例要么适用于 .NET 4.0,要么它们使用 HttpWebRequest class .但是由于我必须通过 WSDL 中定义的函数提交请求,所以我认为 class 对我没有帮助...
非常感谢任何建议!
我要做的第一件事是使用 Fiddler 等工具检查请求的当前发送方式,该工具可让您检查传入和传出的 Web 请求。通常,SOAP WSDL 被编写为根据需要使用 GET
或 POST
,因此您不必更改它。
如果它实际上是作为 GET 请求发送的,那么这是值得修复的问题,但我怀疑它不是。更有可能是请求存在其他问题,您收到的警告只是一般性提示,并不具体说明您的请求有什么问题。