从WSDL生成JavaScript存根

15

我正在寻找一种工具,可以从 WSDL 文件生成 JavaScript 存根。

虽然我通常更喜欢使用 JSON 或 XML 的 REST 服务,但目前我正在整合一些只能使用 SOAP 的工具。

我已经创建了 JavaScript 客户端的第一个版本,但我是手动解析 SOAP 包裹的,考虑到 SOAP 包裹规范的复杂性,我怀疑我的代码是否能够适应服务升级等情况。

所以,有没有一种工具可以自动生成 JavaScript 的完全符合 SOAP 规范的存根,这样我就可以更加信心满满地面对我的客户端代码的未来。

此外:我尝试使用的 Web 服务是 RPC 编码的,而不是文档文字。

3个回答

11

Apache CXF提供了生成JavaScript客户端的工具,用于与SOAP通信。

实际上,任何CXF服务都可以通过在URL后添加?js来自动生成javascript客户端。(就像?wsld生成wsdl一样)也有命令行工具,但动态生成的东西非常有趣。


2
我尝试了这些工具,但是wdsl2js无法处理RPC编码的Web服务。 - Vincent Robert
但感谢您的建议,我应该补充一下。对于使用文档字面量Web服务的人来说值得一试。点赞。 - Vincent Robert
3
为什么CXF需要下载?难道WSDL转JavaScript的工具不能作为一个服务挂在互联网上,我可以从中复制和粘贴吗? - tggagne

8
我曾经也需要实现这个功能,发现了这篇CodeProject文章。虽然我稍微改变了一些内容,但是它为我提供了一个很好的基础去实现我的需求。其中一个主要特点就是可以根据WSDL生成SOAP客户端,并且还具有对于多次调用缓存WSDL的内置功能。
此外,这篇文章还有一个关于Ajax调用的自定义实现XmlHttpRequest。不过这一部分我没有使用。在那个时候,我想我使用了Prototype JavaScript库,并修改了这篇文章中的代码以使用它的Ajax函数。因为Prototype被广泛使用并已在所有浏览器上进行了测试,所以我更喜欢使用Prototype进行ajax调用。

2
请注意,所提到的项目现已移至http://javascriptsoapclient.codeplex.com。旧网址仅发布了2005-2006年的版本,但新网站得到了维护。 - mikemaccana

2

虽然可能过于冗余,但NetBeans有这个功能。


2
我在Netbeans中找不到这个功能,有什么建议吗? - Vincent Robert
我也想知道。 - jocull

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接