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

从JavaScript(AJAX)调用和使用JBoss Web服务,java,javascript,ajax,web-services,jboss,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方法 依赖关

我正在摆弄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方法

依赖关系

取决于jQuery和XML Objectifier
免责声明:这仍然是非常未经测试的,因此它仍然会炸毁您的计算机

您是否尝试过使用SoapUI或curl或Firefox海报插件访问服务器?如果你不能与他们连接,那么你的JBOSS配置就很糟糕。
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);
});