【发布时间】:2015-06-30 06:09:28
【问题描述】:
我正在使用 IBM Mobile First Platform 7.0.0 for android 平台开发应用程序。
在这个应用程序中,我需要调用一个 SOAP Web 服务。正如我们所知,我们有用于调用 SOAP 服务的适配器。但我的要求是从jquery调用soap服务,它是跨域的。
我用谷歌搜索并找到了一些调用服务的解决方案。代码如下:
var wsUrl = "http://ipadd:port/example.asmx";
var soapRequest = '<soap:Envelope> .....</soap:Envelope>';
alert(soapRequest);
$.support.cors = true;
$.ajax({
type: "POST",
url: wsUrl,
jsonpCallback: "MyCallbackDED",
dataType: "xml",
processData: false,
beforeSend: function(XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
XMLHttpRequest.setRequestHeader("SOAPAction", "http://tempuri.org/example");
XMLHttpRequest.setRequestHeader("Accept", "application/xml, text/xml, */*");
},
crossOrigin: true,
data: soapRequest,
success: function (msg) {
alert("suc: " + msg.tradeLicenseData.master[0].arabicAddress + ": " + msg.tradeLicenseData.master[0].arabicAddress);
},
error: function (msg) {
alert("Failed: " + msg.status + ": " + msg.statusText);
}
});
我得到的错误是:-
拒绝执行脚本 'https://script.google.com/macros/s/AKfycbwmqG55tt2d2FcT_WQ3WjCSKmtyFpkOcdpr...PersonalInformation%3E%3C/soap:Body%3E%3C/soap:Envelope%3E&_=1435644200261' 因为它的 MIME 类型 ('text/html') 是不可执行的,并且严格的 MIME 类型检查已启用。
有没有办法解决这个问题?
【问题讨论】:
标签: javascript ajax web-services soap ibm-mobilefirst