如何通过AJAX调用AXIS Web服务?

时间:2016-03-19 10:05:37

标签: java ajax web-services axis tomcat8

我对网络服务很陌生。我使用eclipse和网上的一些教程来创建一个名为DeScriptor的简单Web服务,我将其上传到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

1 个答案:

答案 0 :(得分:1)

您正尝试使用REST样式调用服务器Web服务(即设置内容类型,将params作为JSON消息等)。

但是,web服务期望发送SOAP消息。可以找到如何使用Javascript发送SOAP消息的示例here