2012-04-19 76 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