如何通过 AJAX 调用 AXIS 网络服务?

How to call an AXIS web service via AJAX?

我对 Web 服务还很陌生。我使用 eclipse 和网络上的一些教程创建了一个名为 DeScriptor 的简单网络服务,我将其上传到 Tomcat 服务器。可通过此 URL

访问

http://www.xwizard.de:8080/services/DeScriptor

根据那里写的消息,它似乎在工作(对吧?)。

到目前为止,还不错,但现在我不知道如何称呼它。该服务只有一个方法 String retrieveSVGFromScript(String scrp),我试图用这个 AJAX 代码调用它:

var hallowelt = "Hallo Welt";
var params = JSON.stringify({scrp: hallowelt});

$.ajax({
    type: "POST",
    url: "http://www.xwizard.de:8080/services/DeScriptor/retrieveSVGFromScript",
    data: params,
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    crossDomain: true,
    success: function (msg) {
        console.log(msg.d);
    },
    error: function (xhr, status, error) {
        // Some error handling.
    }
});

希望我能通过 msg.d 获得该方法的结果字符串,但我却收到了这条信息量不大的错误消息:

jquery.js:8630 POST http://www.xwizard.de:8080/services/DeScriptor/retrieveSVGFromScript 500 (Internal Server Error)

有人能给我指出正确的方向吗?

编辑:您可以在此处找到 WSDL:http://www.xwizard.de:8080/services/DeScriptor?wsdl

您正在尝试使用 REST 样式调用服务器网络服务(即设置内容类型、提供参数作为 JSON 消息等)。

但是网络服务需要 SOAP message. An example how to send a SOAP message with Javascript can be found here