asp.net - ASMX 网络服务 "Server did not recognize the value of HTTP Header SOAPAction"

标签 asp.net web-services soap asmx

只有在测试服务器上部署 ASMX Web 服务时,我才会遇到一个奇怪的问题。我有一个带有一种简单方法的网络服务:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class HarmonyCentralWebClassicService : System.Web.Services.WebService
{
        [WebMethod]
        public List<DeviceSync> GetDeviceSyncByCategoryAndSyncStatus(DeviceSyncCategoryId categoryId, DeviceSyncStatusId syncStatusId)
        {
           // Do something and return a list
           return new List<DeviceSync>();
        }
 }

部署到测试服务器后,当我从另一台计算机上的 .NET 客户端调用此方法时,出现以下错误:

Caught SoapException thrown by System.Web.Services.Protocols::SoapHttpClientProtocol.ReadResponse

Server did not recognize the value of HTTP Header SOAPAction: http://tempri.org/GetDeviceSyncByCategoryAndSyncStatus

我看过很多 SO 文章,并尝试删除临时 ASP Net 文件夹并更新 Web 引用 - 这些都不起作用(例如这些 here )。

有人知道吗?

最佳答案

设法找出问题所在。非常简单的解决方案。只是表明如果您几个小时后回来,您的想法会更明智!

我的客户端 app.config 指向错误的 ASMX 文件,因此显然运行时正确地观察到该特定 Web 服务无法识别此操作。

如果有人遇到类似的问题,一个非常简单的检查就是确保您确实指向所需的 ASMX Web 服务,并且客户端中的 Web 引用是最新的。

当然,同意 John 的评论 - 如果您有选择,请坚持使用 WCF 或 ASP.NET Web API。

关于asp.net - ASMX 网络服务 "Server did not recognize the value of HTTP Header SOAPAction",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27491517/

相关文章:

java - 连接到需要证书的 Web 服务时出错

java - CXF客户端异常: Interceptor for {XXX} has thrown exception,现在展开

javascript - 检查页面是否使用 JavaScript 中的 asp.net ajax

asp.net - 使用 Visual Studio 团队服务构建包含多个 Web 应用程序的解决方案并将这些 Web 应用程序部署到 azure

c# - Ajax 调用开始像怪胎一样加载

c# - 如何签署自定义 Soap header ?

asp.net - 如何获取 Sitecore 同级项目数组?

Java SOAP 请求作为 Web 服务?

php - 如何构造复杂的嵌套 SOAP 参数

python - Zeep 与 Python 中 SOAP API 的请求