如何使用JavaScript的Web服务?

时间:2014-03-07 13:32:53

标签: javascript web-services wsdl cors

我正在尝试使用公共Web服务提供程序测试本地JavaScript-Access。

到目前为止,http://www.thomas-bayer.com/axis2/services/BLZService?wsdl处的Web服务似乎有效。据我所知,它会返回银行编号...幸运的是有人写了一篇关于Web服务的教程,引用了这个(http://predic8.com/wsdl-reading.htm)。

第一次尝试后,我需要将我的代码更改为CORS并获得了一个非常好的教程(http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/),遗憾的是它在Google Chrome中无效我总是遇到错误:

XMLHttpRequest cannot load http://www.thomas-bayer.com/axis2/services/BLZService. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8383' is therefore not allowed access. (13:53:38:981 | error, javascript)
  at public_html/index.html

所以我尝试使用Firefox并且“改变了”。现在FireBug告诉我有一个“500内部服务器错误”。

我刚刚更改了教程中代码的地址,直到现在我无法弄清楚我需要哪些消息/参数到Web服务... 我该如何修改它?即使我使用CORS,是否有必要更改Chrome / FF中的设置?

<script type="text/javascript">
            function createCORSRequest(method, url) {
                var xhr = new XMLHttpRequest();
                if ("withCredentials" in xhr) {
                    xhr.open(method, url, true);
                } else if (typeof XDomainRequest != "undefined") {
                    xhr = new XDomainRequest();
                    xhr.open(method, url);
                } else {
                    xhr = null;
                }
                return xhr;
            }

            var request = createCORSRequest("get", "http://www.thomas-bayer.com/axis2/services/BLZService");
            if (request) {
                request.onload = function() {
                    //do something with request.responseText
                };
                request.send();
            }

        </script>

0 个答案:

没有答案