2012-04-19 34 views
0

我有一個調用Java中構建的Web服務的需求,該服務將通過Java腳本從HTML頁面調用。從JavaScript中調用Java中的同步Web服務

我已經試過可在以下網址的代碼示例:http://www.codeproject.com/Articles/14610/Calling-Web-Services-from-HTML-Pages-using-JavaScr#

<html> 
    <head> 
    <title>Hello World</title> 
    <script language="JavaScript"> 
    var iCallID; 
    function InitializeService(){ 
     service.useService(http://localhost:1394/MyWebService.asmx?wsdl, 
    "HelloWorldService"); 
     service.HelloWorldService.callService("HelloWorld"); 
    } 
    function ShowResult(){ 
     alert(event.result.value);//Output: Undefined 
    } 
    </script> 
    </head> 
    <body onload="InitializeService()" id="service" 
    style="behavior:url(webservice.htc)" onresult="ShowResult()"> </body> 
</html> 

Web服務正在運行,並已通過Weblogic的內置測試客戶端進行測試。

請推薦一些JS代碼調用帶有字符串參數

+0

投票結束。請評論你爲什麼發佈樣本不適合你。另外考慮使用更主流的JQuery.ajax來進行調用(http://stackoverflow.com/questions/861784/how-to-call-a-web-service-from-jquery) – 2012-04-19 06:06:51

+0

呃,那個代碼聞起來像IE-only ... – ThiefMaster 2012-04-19 06:07:46

+0

該行:service.useService(http:// localhost:1394/MyWebService.asmx?wsdl,「HelloWorldService」);提出了一個問題。 我的Web服務從未獲得匹配,並且請求在中途丟失。然後下一行開始,代碼開始給出未定義的響應(Line:alert(event.result.value);) – 2012-04-19 08:33:07

回答

0

Ajax web服務。但要小心,它只允許在同一個域上的請求(瀏覽器限制)。如果您想跨域支持,請使用JSONP(如果web服務允許)或使用服務器作爲代理,以便:

Javascript -> Server on same domain -> WebService 
+0

請提供代碼片段,以便我可以嘗試相同。 – 2012-04-19 08:37:42

+0

AJAX是一個很大的主題,我甚至不知道你是否需要javascript中的代碼片段(跨域或不是?jsonp是否允許?)。 – 2012-04-19 12:00:24

+0

嗨弗洛裏安Margaine,事情是,我需要創建一個簡單的HTML頁面僅用於演示目的,並需要通過HTML頁面調用Web服務。最簡單的我猜會是javascript。請幫助最簡單的解決方案 – 2012-04-19 13:55:37