2011-01-07 90 views
2

正如标题所示,我想弄清楚如何使用JavaScript调用soap服务。 SOAP服务正在本地机器上的Tomcat上运行。随着访问SOAP服务,我也可以很容易地下载/访问/读取WSDL。使用JavaScript调用SOAP服务

我一直在靠近墙壁撞击我的脑袋,现在有了这个问题。在研究过程中,我遇到了一些简短的例子,但没有一个是全面的,并且详细说明了如何从头到尾完成这个任务。这个,或者我找到了一个解决方案,但它只适用于IE或Mozilla。

任何想法如何使用JavaScript(在主要浏览器上)调用SOAP Web服务?谢谢!

(PS:我也使用jQuery所以,如果你想做到这一点使用一些华而不实的jQuery的工具,请随时提出它。)

+0

添加更多的细节,可以帮助你。我尝试使用服务发送和调用数据,而不重新加载当前网页(所以我在后台使用该服务)。 Web服务在那里与数据库进行协商和协作。我可能做错了 - 如果是的话,我应该怎么做? – ajh007 2011-01-07 19:10:39

回答

1

SOAP就是XML所以它应该是可以做到这一点但是我不知道写在JS任何现有的SOAP客户端

更常见的方法很可能是:

  1. 的JavaScript启动该调用使用一个服务器端AJAX辅助一个XHR对象GET/POST参数或JSON编码对象

  2. AJAX辅助使得呼叫到一个数据库或Web服务,作为适当的,并输出所需的数据对象(一个或多个)作为JSON或XML

  3. 的JavaScript解析响应体(JSON或XML)和取使用指定的数据所需的操作

这有几个优点在试图直接从JavaScript调用Web服务:

  • SOAP XML可以说是相当复杂的,这意味着更多的数据传输到与客户端,这可能是一个缓慢的连接。特别是JSON,而且具有所需数据的XML模式在数据使用方面会更经济

  • 如果WebService需要任何类型的身份验证,则会向所有访问者公开身份验证详细信息。

  • Web服务通常用于标准化单独系统之间的通信,而不是用于同一应用程序/站点的前端和后端组件之间的通信。