You can use WSIF to enable client applications to switch between service bindings at run time, to enable them to use the optimum binding, and to invoke operations on a Web service provider.
For example, a Web service provider could offer a SOAP binding for the service and a local Java binding that allows you to treat the local service implementation (a Java class) as a Web service. If the client is deployed in the same environment as the service, the local Java binding for the service can be used and provides more efficient communication with the service by making direct Java calls rather than using the SOAP binding.