Unity Logo


General Questions

What are the goals of XFire?

  • Create a flexible SOAP framework, where any processing mechanismcan be plugged in.
  • Be SOAP 1.2 and WS-I 1.1 compliant. Also to offer support for non-RPC/Encoded SOAP 1.1 services.
  • Intuitive, easy to use API.
  • Be Fast.
  • Allow many different binding methods (traditional java types, OGNL, Castor, JaxME, etc).
  • Create a processing model where your web service model and your java model can develop independently (see the Aegis Module).
  • Modules for WS-Security and WS-Adressing support.

Technical Questions

Why is XFire producing invalid XML?

XFire is based on StAX and not all StAX implementations work correctly. See the Dependency Guide for information on how to choose a stax implementation.

Why aren't RPC/Encoded services supported by the Java Module?

For interoperability, WS-I basic profile basically says that trying to support RPC/encoded services is an interopability nightmare. And they're right! It isn't easy.

However, the basic framework to support RPC/Encoded services is in place. Vote for or contribute patches on bug XFIRE-425 if you need this.

Is XFire DOM Based?

XFire is structured so that in most cases the SOAP document does not need to be cached in memory at all. It is able to do this by using StAX - the streaming XML API.

What is this java.lang.NoSuchMethodError: javax.xml.namespace.QName.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String(wink) V Exception?

Several application servers (WebSphere and WebLogic, for example) include an older version of the QName class. XFire (as well as XMLBeans and Stax) require the new version. WebLogic usage has been documented, WebSphere will be similar.

When I try to run the examples I get "The build cannot continue because of the following unsatisfied dependency: javamail-1.3.2.jar"

Due to Sun licensing restrictions we can't redistribute the javamail jar. You must download it and put it in your local maven repository - "~/.maven/javamail/jars/javamail-1.3.2.jar".


Can XFire act as a client to the Google Web Service?

No, because it does not support RPC/Encoded services (see above).

Can XFire work with .NET/PHP/Perl/Python client/server?

Yes, but you must ensure that your services are created and consumed with the document/literal style.

See PHP Interoperation for more details.

How can I add custom handler to my XFire client ( generated or dynamic )  ?

You can add handlers with following code :

Generated client :

Dynamic client:

I got java.lang.ClassCastException at javax.xml.transform.TransformerFactory.newInstance(Unknown Source)   when accessing service WSDL

This exception is cased by presents of different xalan versions in classpath. To fix this problem, you have to make sure that correct one will be used, but removing the other one or by setting java property with points to valid one, like : -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl

© 2003-2008 Codehaus