WSIF是apache的web服务项目的一个子项目,目前版本是2.0,实际上是WSIF被提交给ASF后的第一次发布版本,命名为2.0是和以前非Apache发布的1.x版本相区别。 WSIF提供了一组简单的API来调用web服务而不需要了解该web服务的实现方式,更深入的说,WSIF是一组基于WSDL文件的API,他调用可以用WSDL文件描述的任何服务。 WSIF中提供的API允许编程者通过WSDL描述内容和web服务调用的抽象层打交道,而不是直接使用SOAP来调用web服务。编程者使用WSIF后就可以使用统一的编程模型来调用web服务而不需要了解该web服务是如何实现和被访问的。 WSIF 2.0中里面提供了下列内容的支持: SOAP(可以使用apache SOAP或者axis实现)、本地java类、EJBs、JMS services和其它可以通过java connector访问的应用。WSIF规定了特别的WSDL扩展使这些资源可以被当成WSDL描述的服务访问。 WSIF允许通过运行时分析web服务描述的元数据来实现无stub或者动态的调用一个web服务。他允许在运行时将更新的绑定实现插入到WSIF中,他允许调用的服务在运行时之前选择自己的绑定实现。 WSIF具有以下几个主要特征: 1,以WSDL为中心和服务的抽象定义(portType)打交道,隐藏实现细节(协议绑定和服务位置) 2,可插入式允许增加心得提供者使应用可以通过修改WSDL就可以应用新的web服务而不需要修改应用的代码 3,可扩展很容易使用新的WSDL扩展进行试验 4,灵活性很容易定制很容易和JNDI结合使用是服务被提供的位置更加透明