Discussions

XML & Web services: Any good experience with Axis2?

  1. Any good experience with Axis2? (1 messages)

    On my current project, we chose to use axis 2 for our web services. I have to say that after a few months of practice(nearly one year), I became quite frustrated. So I would like to know: what is your experience with Axis 2 in enterprise-level applications ? For what I can remember until now: - With a complex WSDL, there is a high risk that the WSDL2Java tool will throw an exception while there was no problem with Axis1. Even if XmlSpy says it is valid, it fails. So you change the WSDL/retry 20 times before you get a positive result... - It was a real pain to make it work with Spring, even if you follow the guide at http://ws.apache.org/axis2/1_1/spring.html (we met lot of problems with class loaders, especially with the TransactionFactoryBean) - Documentation is poor: once you leave the "HelloWorld" context, the mailing list and the source code are your best friends... The Javadoc is empty in most classes. - Exceptions are quite obscure(for example today I had a NullPointerException in the Rampart module until I realized that a package name was bad in the services.xml file). - After upgrading from 1.0 to 1.1, config files were not compliant any more(capitalized letters in 1.1). - With version 1.0, we had a ClassCastException each time a soap fault occured so we never got the real exception... I have the general feeling that within our team, we lost confidence in the tool and each time we have to regenerate the client or server side, we fear the worst... Finally, we had to generate a client with WS-Security with .Net and with Axis2: it was much easier in .Net... But maybe I am too negative, so that is why I wait for your opinions. After all, Axis2 is still a young project...
  2. I too had a bad experience with Axis2. But I didnt had a year time to adapt to it. I tried to use it for week and then turned back to Axis 1 where I already had 2 years of experience. I think the more generic a framework becomes (by providing support to other frameworks and technologies) the complex it becomes.