繁体   English   中英

是否可以仅从wsdl文件创建Web服务客户端?

[英]Is it possible to create a web-service client solely from a wsdl file?

我正在创建一个Web服务客户端。 我使用WSDL文件来生成客户端存根。 但是现在我必须对Web服务进行身份验证,并调用方法。 我已经检查了一些有关如何完成此操作的教程,但是它们总是说明生成客户端代码和服务器代码,然后使它们协同工作。

我想知道验证和调用请求所需的所有信息是否都包含在WSDL文件中(并因此自动生成了代码)? 还是我还必须了解Web服务代码?

任何帮助表示赞赏。

一般来说,WSDL应该是您所需要的(假设它是由知道自己在做什么的人编写的)。

编写良好的WSDL应该具有明智的方法和参数名称,以使生成的客户端绑定或多或少是不言自明的。 通过<annotation><documentation></documentation></annotation>属性,应添加注释以解决任何歧义。 换句话说,像JavaDoc API页面一样思考WSDL。 只要知道要放入的内容以及从中得到的内容,就不必关心黑匣子中的内容。

至于身份验证机制,实际上要考虑两种情况:Web服务级别身份验证和应用程序服务器级别身份验证。

在应用程序服务器级别(例如Tomcat或GlassFish),WSDL不会为您提供所使用的身份验证方法的指示(因为WSDL处于应用程序服务器之上的级别)。 在这种情况下,您可以尝试通过在浏览器中访问WSDL文件进行调试(或者尝试在SoapUI中调用服务)并查看需要进行身份验证的内容。

在Web服务级别,应该在WSDL中描述安全性机制。 我不知道有任何IDE可以自动识别WSDL中描述的身份验证机制,然后提示您提供所需的内容(尽管我只是真正使用NetBeans)。 但是,您应该能够解决问题-通过检查WSDL或查看错误消息,当您尝试访问受保护的资源时,Web服务客户端会吐出。

WSDL文件不包含有关调用某些功能(如果有)的顺序的信息。 因此,我认为应该始终有其他文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM