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

时间:2010-07-30 12:59:22

标签: java web-services wsdl axis2

我正在创建一个Web服务客户端。我使用WSDL文件生成客户端存根。 但现在我必须对Web服务进行身份验证,并调用方法。 我已经检查过一些关于应该如何完成的教程,但是他们总是解释生成客户端代码和服务器代码,然后让它们一起工作。

我想知道验证和调用请求所需的所有信息是否包含在WSDL文件中(以及自动生成的代码)?或者我是否也必须了解网络服务代码?

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:2)

一般来说,WSDL应该是你所需要的(假设它是由知道他们正在做什么的人写的)。

编写良好的WSDL应该具有合理的方法和参数名称,以便生成的客户端绑定或多或少不言自明。通过<annotation><documentation></documentation></annotation>属性,应添加注释以解决任何歧义。换句话说,就像JavaDoc API页面一样考虑WSDL。你不应该关心黑盒子里面的东西,只要你知道你需要放入什么以及你将从中获得什么。

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

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

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

答案 1 :(得分:1)

WSDL文件不包含有关调用某些函数(如果有)的顺序的信息。因此,在我看来应该总是有其他文档。

相关问题