Any news on soap processing in Java?

I worked with Axis and Saaj for several years, then switched to spring-ws, which I prefer because it is more xml oriented. Then I switched all my projects to an axiom because of a serious problem with working with saaj. I experienced some problems again, especially with namespace processing ( AXIOM-114 and SWS-502 ), anyway, I have been working with spring-ws and the axiom for two years.

Since I am not completely satisfied, I am actually looking for any other libraries. Any suggestions?

I know that google is my best friend, but this is a delicate question, so I would like to know your experience. Actually, what is the best library that handles soap messages in Java?

I could write my own library based on my needs, but I think it is not too simple, and I do not like to reinvent the wheel. I just wanted to rely on a library that correctly handles well-formed xml declarations, namespaces, multiple levels of nested xml, etc.

+6
java soap xml
source share
2 answers

I am really looking for any other library. Any suggestions?

Well, SAAJ is still the SUN specification for SOAP processing (with attachments).
The reference implementation uses the DOM, so if you are exchanging large messages, you will see memory problems.
Other frameworks that support soap web services besides the axis and spring (with which you have already worked) are cxf.
Axis uses the axiom for xml processing and has an SAAJ implementation which, I think, is not based on the DOM. Therefore, better memory usage for large messages is expected.
CXF uses the default built-in java saaj implementation, but can also support axis2-saaj
CXF Frequently Asked Questions

Last but not least, JAX-WS (also relies on SAAJ).
Both CXF and JAX-WS allow you to work directly at the xml level.
This is pretty much the most popular framework for soap web services in java (if I forget something, I hope someone comes in and reports).

what is the best library for handling soap messages in java?

It is difficult to say because it is a rather broad question.
Generally speaking, the most popular structures are Axis2 and CXF (this is my personal understanding).
IMHO, all libraries have a problem that they are too "sensitive" to inputs, that is, namespaces, etc.
At a time when a developer needs more relaxed parsing, getting it is not easy.

+2
source share

JAX-WS (and the reference implementation , aka Metro) uses data binding and stub creation to create SOAP calls, much like .NET usually does.

JAX-WS is probably recommended if you do not have specific requirements that make data binding impossible.

0
source share

All Articles