SOAP请求No' Access-Control-Allow-Origin'标题soapUI标题

时间:2015-02-03 13:08:26

标签: javascript ajax soap soapui

我试图完成SOAP-post以获取XML数据。

问题是“没有'Access-Control-Allow-Origin'标题”,我想服务器需要添加标题。

所以我在SOAPui中创建了一个MockService并复制了服务器响应。但我仍然遇到同样的问题。在响应中的soapUI中,我添加了此http://imgur.com/TZXM2Ca

        function soap() {
        var sr = MySoapRequest;

        $.ajax({  
       url: url, 
        beforeSend: function(xhr) {
        xhr.setRequestHeader("SOAPAction", "x");
        }, 
        type: "POST",  
        dataType: "xml",  
        data: sr, 
        crossDomain: true, 
        success: function (data) {
            console.log(data);
        },
        error: function (error) {
        },
        contentType: "text/xml; charset=\"utf-8\"" 
        });
            }

1 个答案:

答案 0 :(得分:-1)

默认情况下,浏览器无法通过AJAX将POST请求发送到与当前页面不同的URL。例如,如果您打开了位于网址http://foo.com中的网页,并且该网页尝试将某些数据(通过AJAX)发布到http://bar.com,您通常会收到您现在看到的错误。

如果要使其工作,则必须将服务器配置为通过跨源资源共享(CORS)接受请求。我建议你获得一些关于CORS的信息,你可以在网上找到很多关于它的文档。可以找到广泛的概述here

至于服务器上CORS的实际实现,取决于您使用的是哪个平台。如果您使用的是PHP,请查看this question