服务器无法识别 HTTP 标头 SOAPAction 的值

2024-04-29

   [SoapRpcMethod(Action = "http://cyberindigo/TempWebService/InsertXML",
    RequestNamespace = "http://cyberindigo/TempWebService/Request",
    RequestElementName = "InsertXMLRequest",
    ResponseNamespace = "http://cyberindigo/TempWebService/Response",
    ResponseElementName = "InsertXMLResponse",
    Use = System.Web.Services.Description.SoapBindingUse.Literal)]

    [WebMethod]
    public string InsertXML(string Jobs)
    {
        return "Hi";
    }

当我使用 XMLHttpRequest 访问它时出现问题,它给出以下错误 服务器无法识别 HTTP 标头 SOAPAction 的值:http://Cyber​​indigo/TempWebService/InsertXML http://Cyberindigo/TempWebService/InsertXML


本文下一部分的来源是:

http://bluebones.net/2003/07/server-did-not-recognize-http-header-soapaction/ http://bluebones.net/2003/07/server-did-not-recognize-http-header-soapaction/

(因为OP不想给出归属,并且感谢Peter)

请注意,bakert 是文本的原作者,而不是 OP。


由于我在互联网上找不到这个错误的解释,我想我应该分享我长期搜索这个错误的成果。

这意味着(至少在我的例子中)您正在使用 SOAP 访问 Web 服务并传递一个SOAPActionHTTP 请求中的参数与服务期望的参数不匹配。

我陷入了困境,因为我们将 Web 服务从一台服务器移动到另一台服务器,因此我更改了调用 C# 文件中的“命名空间”(不要混淆 Web 服务命名空间和 .net 命名空间)以匹配新服务器。但服务器并不关心网络的实际情况http://yournamespace.com/blah它只关心您发送给它您在服务器上所说的内容。它并不关心那里是否真的有任何东西。

所以基本上网络服务是从http://foo.com/servicename to http://bar.com/servicename但网络服务的“命名空间”保持不变http://foo.com/servicename因为没有人改变它。

而且只花了大约 4 个小时就完成了!

如果您遇到类似的问题但无法按照我所说的进行操作,请随时给我发邮件[电子邮件受保护] /cdn-cgi/l/email-protection– 我不希望我的四个小时花在任何人身上!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

服务器无法识别 HTTP 标头 SOAPAction 的值 的相关文章

随机推荐