Web Services Invocation Framework FAQ

based on questions posted on discussion forum at http://www.alphaworks.ibm.com/tech/wsif

What is official version of WSIF? How to get the latest version?

The official version of WSIF can now be found on the Apache web site since WSIF was donated to Apache a few months ago. Version available from Alphaworks is no longer maintained and will be soon retired.

The Apache WSIF homepage can be found at: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/readme.htm?rev=HEAD&content-type=text/html

Nightly builds are available at http://xml.apache.org/dist/axis/nightly/ The wsif-src contains source distribution and wsif-bin zip file contains a built wsif.jar along with the API javadoc.

What are differences between WSIF and WSTK?

TODO

What are differences between WSIF and JAX-RPC?

TODO

How to use and set HTTP proxy with WSIF and SOAP over HTTP

TODO: describe here current support for system properties etc.>

Where are extensions to WSDL that are supported by WSIF documented?

This is described in separate document.

How to write WSIF provider for new WSDL binding?

This is described in separate document.

How to report problems and request new features?

Please subscribe and post your questions to AXIS mailing list (make sure to add [wsif] prefix to mail subject).

How to select SOAP provider used in WSIF?

WSIF comes with an Apache Axis provider so using axis with WSIF is easy. WSIF has two SOAP providers, one using Apache SOAP 2.3 and the other using Axis, by default WSIF will use the SOAP 2.3 provider. The default is controlled by the org.apache.wsif.util.WSIFPluggableProviders class. The javadoc for this class gives details of how the default is defined, but it can be overridden programmatically, for example, the following call sets the axis provider to be the default:
WSIFPluggableProviders.overrideDefaultProvider("http://schemas.xmlsoap.org/wsdl/soap/",
new WSIFDynamicProvider_ApacheAxis() );

How to use dynamic invoker sample?

java clients.DynamicInvoker http://www.xmethods.net/sd/2001/TemperatureService.wsdl getTemp 10570

Reading WSDL document from 'http://www.xmethods.net/sd/2001/TemperatureService.wsdl'
Preparing WSIF dynamic invocation
- WSIF0006W: Multiple WSIFProvider found supporting the same namespace URI 'http://schemas.xmlsoap.org/wsdl/soap/'. Found ('org.apache.wsif.providers.soap.apachesoap.WSIFDynamicProvider_ApacheSOAP, org.apache.wsif.providers.soap.apacheaxis.WSIFDynamicProvider_ApacheAxis')
- WSIF0007I: Using WSIFProvider 'org.apache.wsif.providers.soap.apachesoap.WSIFDynamicProvider_ApacheSOAP' for namespaceURI 'http://schemas.xmlsoap.org/wsdl/soap/'
Executing operation getTemp
Result:
return=56.0

Done!

Sample DynamicInvoker and Complex Type handling in WSIF?

WSIF does support complex types - of course XML schema support is limited (but very reasonable).

You may be referring to DynamicInvoker sample that does not support complex types however take look on AddressBook sample instead.

It is also possible to extend DynamicInvoker to support complex type but it will require some kind of intermediate representation of values that can handle any complex type (such as using JROM...)