and then routing SOAP messages between clients and those implementations. It also implements the JAX-RPC specification for invoking SOAP services. WSIF is similar to the client piece of Axis, in that it is used for invoking services. However, WSIF's API is WSDL-driven and protocol independent; it allows protocol-specific code ("providers") to be plugged in. For invoking SOAP services, WSIF is packaged with an Axis provider, that uses Axis APIs (i.e. JAX-RPC) to do the invocation. So WSIF operates at a more abstract level than Axis. Differences between WSIF and JAX-RPC JAX-RPC is an API for invoking XML-based RPC services – essentially its current scope is limited to invocation of SOAP services. WSIF is an API for invoking WSDL-described services, whether they happen to be SOAP services or not (for example, WSIF defines WSDL bindings so that EJBs, enterprise software accessible using JMS or the Java Connector architecture as well as local Java classes can all be described as first-class WSDL services and then invoked using the same, protocol-independent WSIF API). See also Apache XML External links Web Services Invocation Framework documentation WSIF and WSDL Service Binding Web service specifications Web services