使用AJAX访问WSDL的问题

时间:2013-03-20 14:31:40

标签: javascript jquery ajax database wsdl

我是AJAX的新手,正在尝试通过以下代码访问我们的WSDL数据库。当我运行它时,Firefox调试器说“[10:27:42.805] ReferenceError:$未定义@ http://newsite.wrapcompliance.org/ajaxtest.html:14”:思考?

<h3>jQuery Test</h3>

<script type="text/javascript">

function callService()
{
    $.ajax
    ({
        url: "http://newsite.wrapcompliance.org/FactoriesWS.wsdl",
        type: "POST",
        dataType: "xml",
        data: {"countryCd":"BGD"},
        contentType: "text/xml; charset=\"utf-8\"",
        success: onSuccess,
        error: onError
    });

    return false;
}

function onSuccess(data, status)
{
    alert("It worked!!");
}

function onError(request, status, error)
{
    alert("It didn't work!!!");
}

</script>

<form method="post" action="">
    <input type="button" value="Do it now!!" onclick="callService(); return false"/>
    </form>


</body>
</html>

1 个答案:

答案 0 :(得分:1)

您的错误是实际上没有jQuery存在的结果。我查看了你的示例网站,jquery在firebug的网络标签中扔了一个404,意思是没找到它。确保它指向正确的本地目录。目前正在寻找http://newsite.wrapcompliance.org/jquery-1.9.1.min.js

也就是说,调用wsdl本身很可能会返回wsdl的xml摘要页面,而不是暴露的服务。我建议将暴露的wsdl端点包装在restful服务中。我已经使用WebAPI RESTful服务多次完成这项工作,并且它总是占用大量的头脑。