java - 从 JavaScript (AJAX) 调用和使用 JBoss Web 服务

标签 java javascript ajax web-services jboss

我正在摆弄 JBOSS 的 Web 服务,并且创建了以下内容:

http://127.0.0.1:8080/IM/TestService?wsdl

现在我需要通过 JavaScript 从该 Web 服务访问 Web 方法。

假设我在 TestService 中有一个名为 foo 的 Web 方法,如何对其进行 ajax 调用?

我尝试通过 http://127.0.0.1:8080/IM/TestService/foo 访问该方法,但收到 HTTP 状态 404。

最佳答案

我编写了以下 JavaScript,它允许我从 JBoss Web 服务调用 Web 方法。

依赖关系

<小时/>
var WS = function (url, ns, nsName) {
    return function (method, parameters, callback) {
        var i, j, para, soapBody = new SOAPObject(method), sr, response;
        soapBody.ns = {
            name: nsName,
            uri: ns
        };
        if (typeof parameters === "function") {
            callback = parameters;
        } else if (parameters && parameters.length) {
            for (i = 0, j = parameters.length; i < j; ++i) {
                para = parameters[i];
                soapBody.appendChild(new SOAPObject(para.name)).val(para.value);
            }
        }
        sr = new SOAPRequest(method, soapBody);
        SOAPClient.Proxy = url;
        SOAPClient.SendRequest(sr, function (r) {
            response = r.Body[0][method + "Response"][0]["return"][0]["Text"];
            if (callback) {
                callback.call(sr, response);
            }
        });
    }
};

使用

var ws = WS("http://127.0.0.1:8080/IM/TestService", "http://wservices/", "ns2");

ws("foo", [{name: "name", value:"dreas"}], function (r) {
    console.log(r);
});

免责声明:这还没有经过测试,因此它仍然可能会毁掉您的计算机

关于java - 从 JavaScript (AJAX) 调用和使用 JBoss Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2794456/

相关文章:

javascript - Laravel 未捕获引用错误 : $ is not defined

java - 使用泛型作为参数

java - 使用泛型时如何解决这个未经检查的转换错误?

javascript - 以编程方式触发点击

javascript - 确定带有 @font-face 样式的 svg 文本宽度的可靠方法

javascript - 在 JavaScript 中将数组转换为对象

javascript $.ajax 返回对象 Object

java - 如何在 Play 模板中创建新对象/如何在 Play 模板中导入类

java - sql查询不更新JTable

javascript - ajax跨域请求