I need to create a web service that basically is passed two large xml files and returns a third file that is not xml.
It seems to me that JAXM makes more sense than JAX-RPC. But the most recent j2ee sdk from Sun basically doesn't mention JAXM. Is it going away?
Or should I be using JAX-RPC regardless?
And if the answer is JAXM, is there a way to create a server that can run stand-alone but can also run in a j2ee server using it's messaging? Or do you have to code specifically to the messaging method used?
thanks - dave
Using JAX-RPC you have two options:
1. File attachments: it will be fast, but you are going to have problems if you decide to do message-level security, and currently shipping .NET framework doesn't interoperate with SoapWithAttachments. You could try DIME, but not all J2EE servers support it, and .NET folks are deprecating it.
2. Embed data in the soap message body (base64). It's going to be slow, heap trashing solution. In future this might get fast if vendors implement MTOM and future JAX-RPC specs which might address XQuery data model, but this is all wishful thinking for now.
Well this sucks - JAXM looked like it was perfect.
Is there another alternative that is even better for this situation? If not I will probably do embedded data as I get streams, not files so it's all data to me anyways.
thanks - dave
JAXM is NOT part of the J2EE 1.4 specification.
J2EE 1.4. includes these web service API's: JAXR, JAX-RPC, and SAAJ
According to the SAAJ 1.2 specification:
The SAAJ Specification, version 1.1 was a maintenance release of the Java API for
XML Messaging (JAXM) 1.0 specification. JAXM 1.0 was the final deliverable of
JSR067 Expert Group (EG). The proposed changes specified in the JSR067 changelog
and accepted on 15 April 2002, have been incorporated into this document.
This document is the SAAJ Specification, version 1.2. It is a maintenance release of
the SOAP with Attachements API for Java specification. The proposed changes
specified in the second JSR067 changelog and accepted on 23 April 2003, have been
incorporated into this document.