[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://Cyberindigo/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 服务并传递一个SOAPAction
HTTP 请求中的参数与服务期望的参数不匹配。
我陷入了困境,因为我们将 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(使用前将#替换为@)