xmlhttprequest,浏览器500错误;在 soapui 工作正常

xmlhttprequest, 500 error in browser; works fine in soapui

我需要调用的网络服务有问题。

情况

我需要从我工作的公司构建的网络服务中获取信息。如果我尝试通过 SOAPUI 获取信息,则没有任何问题,并且我在响应中获取了所需的信息。但是在编辑脚本以便我可以通过浏览器获取它之后,我收到了 500 错误。

代码

function soap() {
    try {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open('POST', 'https://**testserver**/test/services/smsproxy2.smsproxy2HttpsSoap11Endpoint', true);
        // build SOAP request
        var sr =
            '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sms="http://**service**/smsreport">' +
                '<soapenv:Header/>' +
                '<soapenv:Body>' +
                    '<sms:GetSMSReport>' +
                        '<sms:FromDate>2015-01-01</sms:FromDate>' +
                        '<sms:ToDate>2015-12-12</sms:ToDate>' +
                    '</sms:GetSMSReport>' +
                '</soapenv:Body>' +
            '</soapenv:Envelope>';

        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4) {
                if (xmlhttp.status == 200) {
                        alert('Working fine! See the console.');
                }
            }
        }
        // Send the POST request
        xmlhttp.setRequestHeader('Content-Type', 'text/xml');
        var result = xmlhttp.send(sr);
    }
    catch (error) {
        alert('An error occurred: ' + error);
    }
}
soap();    

说明

整个代码放在 html 文件中。此代码位于 html head 标记中的脚本标记之间。 **testserver****service** 部分在真实脚本中是不同的。

问题

只要我在浏览器中打开这个 (html) 文件,我就会在控制台中收到一条 500(内部错误)消息。此消息指定的行是设置了 xmlhttp.send(sr) 操作的行。

效果

我无法在服务器中获取我需要的信息。所以我无法在网页上显示任何内容。

问题

为什么我在浏览器中收到 500 错误,而这在 SOAP UI 中是否没有问题?调用的 URL 在浏览器中与在 SOAP UI 中完全相同,所以这应该是不可能的。 我该如何解决?

尝试过

很多事情,但没有任何帮助。

简化连接(直接而不是通过代理)后,错误日志中出现错误。

说是端点不对,不过好像没问题。 XML 似乎还可以。

在尝试了一些事情之后我找到了解决方案:

解决方案

下一行给出了错误:

xmlhttp.setRequestHeader('Content-Type', 'text/xml');    

我已经从我的脚本中删除了这一行,现在它可以正常工作了。