2016-03-19 58 views
0

我對web服務很陌生。我使用eclipse和Web上的一些教程來創建一個名爲DeScriptor的簡單Web服務,該服務被上傳到Tomcat服務器。這是通過訪問這個URL如何通過AJAX調用AXIS Web服務?

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

您正在試圖調用使用REST風格的服務器web服務(即設置內容類型,提供PARAMS爲JSON消息等)。

但web服務期望SOAP消息。如何用Javascript發送SOAP消息的例子可以在here找到。

+0

謝謝!這是有道理的...我正在嘗試你的建議解決方案... –

+0

我嘗試了許多不同方面的建議,但我無法讓它工作。它仍然顯示相同的錯誤500.我在這裏實現它:http://www.xwizard.de:8080/Wizz?webservice(錯誤顯示在控制檯中)。 對不起,但我只是不知道如何繼續...... –

+0

@ lucas.coenig在werbservice實現中似乎存在問題,請參閱http://wsdlbrowser.com/soapclient?wsdl_url=http% 3A%2F%2Fwww.xwizard.de%3A8080%2Fservices%2FDeScriptor%3Fwsdl&function_name = retrieveSVGFromScript – wero