我正在调用这样的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不匹配,无法在接收方处理
我想念什么?
thx a-x-i
答案 0 :(得分:0)
我解决了它
在Javascript中我添加了这个:
xmlhttp.setRequestHeader("soapAction", "namespace/Interface/Operation");
在我的wcf中,我必须在Application_BeginRequest中添加它:
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "SoapAction");
所以现在我的WCF工作得很完美:)
A-X-I