xmlhttpRequest调用wcf-service ActionNotSupported

时间:2018-02-28 16:01:04

标签: wcf xmlhttprequest

我正在调用这样的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

1 个答案:

答案 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