我使用Eclipse(Indigo)创建了Axis webservice,使用AXIS默认来自新的,其他的webservice。我运行正常并接受调用并从Ecplipse测试器(Webservice explorer)返回数据。我还在.net中使用了WSDL并从那里调用了它,并且没有任何问题就得到了数据。
但是我需要从jQuery调用它,我正在使用google CDN 1.7.1参考。
当我这么称呼时
// enables cross-site scripting in jQuery
jQuery.support.cors = true;
var soapMessage =
'<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://webservice.website.test.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> \
<soapenv:Body> \
<q0:helloworld /> \
</helloworld> \
</soapenv:Body> \
</soapenv:Envelope>';
$.ajax({
type: "POST",
url: this._baseURL + method,
requestHeaders: "",
data: soapMessage,
contentType: "text/xml; charset=utf-8",
dataType: "xml",
SOAPAction: this._baseURL + method,
success: function(msg)
{
alert(msg);
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert(errorThrown);
}
});
}
我曾经得到过皂水错误,我已经添加了肥皂,现在我得到了,
没有SOAPAction标题!
顺便说一句,我在同一个域localhost上,为了以防万一,我设置了cors。
知道如何在jQuery中实现它吗?
我没有将Axis更新为Axis2,是否会被推荐?