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

SOAP リクエストにcontent type "application/json; charset=utf-8"(および data type ) を使用しています。"json"代わりにこれらを試してください

contentType: "text/xml; charset=utf-8"

データ型:「xml」

編集:Shedalに同意しますが、ライブラリを使用してください。

于 2012-04-12T08:35:59.703 に答える