0

我有一个用java编写并使用axis2server公开的web服务。我需要使用jquery调用该服务。我的UI托管在同一台机器上,但在不同的端口(8080)中。我尝试了以下代码

$('#submit').click(function (event) {
    alert("success");
    var soapmessage = "<soap:Envelope xmlns:soap='http://www.w3.org/2003/05/soap-envelope' " + " xmlns:iris='http://iris.ramco.com'>";
    soapmessage += "<soap:Header/>";
    soapmessage += "<soap:Body>";
    soapmessage += "<iris:authenticateUser>";
    soapmessage += "<inputjson>                {username:'admin',password:'admin12*'}</inputjson>";
    soapmessage += "</iris:authenticateUser>";
    soapmessage += "</soap:Body>";
    soapmessage += "</soap:Envelope>";
    alert(soapmessage);
    $.ajax({
        type: 'Post',
        url: 'http://localhost:8090/axis2/services/CiRISService',
        data: soapmessage,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            alert(data);
        },
        error: function (data) {
            alert("eror" + data.d);
        }
    });
    alert("Form Submitted");
});

但我得到未定义的错误。提前谢谢。

4

2 回答 2

2

为什么不使用 SOAP 客户端库?例如,有一个 jQuery 插件: http: //archive.plugins.jquery.com/project/jqSOAPClient

请记住,您永远不应该在没有专门的库的情况下直接调用 SOAP 方法。有太多你想不到的陷阱。

于 2012-04-12T08:34:29.327 回答
0

您正在使用 content type "application/json; charset=utf-8"(和 data type "json")进行soap请求。而是尝试这些

内容类型:“文本/xml;字符集=utf-8”

数据类型:“xml”

编辑:虽然我同意 Shedal,但使用图书馆。

于 2012-04-12T08:35:59.703 回答