我正在调用这样的wcf服务:
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('POST', 'http://localhost:12525/ElasticServiceProxy.svc', true);
xmlhttp.setRequestHeader('Content-Type', 'text/xml');
xmlhttp.send(soapBody);
如果我将它放在SoapUI中并调用该服务,soapBody就可以工作。我得到了正确的答案。但是在javascript代码中它不起作用。
我还在Application_BeginRequest中添加了Access-Control-Allow-Origin标头。
我也尝试过axios(axios.post(...)) - 没用。
我收到此错误:由于EndpointDispatcher上的ContractFilter不匹配,无法在接收方处理带有Action''的消息
我错过了什么?
thx a-x-i
我解决了
在Javascript中我添加了这个:
xmlhttp.setRequestHeader("soapAction", "namespace/Interface/Operation");
在我的wcf中,我不得不在Application_BeginRequest中添加它:
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "SoapAction");
所以现在我的WCF工作完美:)
A-X-i的