The Web Services Invocation Framework (WSIF) provides a Java™ API for invoking Web services, independent of the format of the service, or the transport protocol through which it is invoked.
WSIF provides runtime support for Web services, and for WSDL extensions and bindings, that were not known at build time. This capability is known as dynamic invocation. Using WSIF, a client application can choose dynamically the optimal binding to use for invoking Web service operations. For example, a Web service might offer a SOAP binding, and also a local Java binding so that you can treat the local service implementation (a Java class) as a Web service. If a client application is deployed in the same environment as the service, this client can use the local Java binding for the service. This provides more efficient communication between the client and the service by making direct Java calls, rather than indirect calls that use the SOAP binding.
WSIF provides this runtime support through the use of providers that link the WSIF service to the underlying implementation of the service. The providers support Web services, WSDL extensions, and bindings that were not known at build time by using the WSDL description to access the target service.
WSIF is designed to work both in an unmanaged environment (running WSIF as a client) and inside a managed container. You can use the Java Naming and Directory Interface (JNDI) to find the WSIF service, or you can use the location described in the WSDL.
WSIF supports Internet Protocol Version 6, and Java API for XML-based Remote Procedure Calls (JAX-RPC) Version 1.1 for SOAP.