Dorthe, You might also want to know whether a framework supports WS-I Basic Profile compliance. Bear in mind that just because a framework supports a particular style and encoding, that doesn't mean that it's interoperable with other frameworks that support the same. The WS-I profiles define some additional semantics that improve interoperability, but even profile-compliant services can generate interop problems. The biggest interop headaches have been caused by arrays, nulls, auto-generated mappings between language-specific types (e.g., Java Collections) and XSD types, and XSD types that use some of the esoteric features of XML Schema. As a rule, it's best to avoid Choice, Union, List, abstract types, and substitution groups.
As for the specific Axis and Axis2 versions: Axis version < 1.3 (note that the name of this framework is Axis, not Axis1) ----------------------- - Uses rpc/encoded as Default - Does NOT support rpc/literal - Supports document/literal - Supports document/literal wrapped - Can produce WS-I Basic Profile compliant services when using literal format These versions have a lot of interop problems with arrays and nulls regardless of the style/encoding used. Support for literal format was very buggy. WS-I compliance required a fair amount of care -- and pretty much required a WSDL-first development approach. Axis version >= 1.3 ---------------------- - Uses rpc/encoded as Default - Supports rpc/literal - Supports document/literal - Supports document/literal wrapped (preferred mode for interoperability) - Can produce WS-I Basic Profile compliant services when using literal format -- automatic when using "wrapped" style Axis2 < 1.3 (note that I changed the version number here -- Axis2 is not a new version of Axis -- it is a completely different framework) -------------- - Does NOT support rpc/encoded - Supports rpc/literal - Uses document/literal by Default - Does NOT support document/literal wrapped - Can produce WS-I Basic Profile compliant services, but not by Default Axis2 >= 1.3 ------------- - still does NOT truly support document/literal wrapped, but it does support some automatic unwrapping of parameters - still does NOT produce WS-I Basic Profile compliant service by Default Axis2's wrapped support does not comply with the model defined in the JAX-RPC specification, and it is incompatible with the way .NET does wrapped. If you want to ensure interoperability, it's best to start with the WSDL you want rather than letting Axis2 generate the WSDL. If your WSDL is WS-I compliant and it conforms to the wrapped convention, then Axis2 will generate a service or client that can interoperate effectively. (but make sure you use your original WSDL) Anne On Jan 28, 2008 12:49 AM, Dorthe Luebbert <[EMAIL PROTECTED]> wrote: > Hi, > > I am currently doing some research for a term paper on "interoperability > of web services". I figured out the following list concerning the > wsdl-style support of Axis over the years. > This information was taken from blogs, announcements and mailing list > postings, so it might be incorrect. I would really appreciate if someone > could confirm one ore more statements out of this list: > > I also read somewhere that the AXIS2' "document/literal wrapped" support > differs from the way .NET handles this. Can someone confirm this or even > give some more information on this issue? > > Dorthe > > -------------------- > > Axis1 version < 1.3 > ----------------------- > - uses rpc/encoded as Default and does NOT support rpc/literal > - does it support document/literal? > - document/literal wrapped is most likely unsupported > > Axis1 version >= 1.3 > ---------------------- > - uses rpc/encoded as Default und supports also rpc/literal > - does it support document/literal? > - document/literal wrapped is most likely unsupported > > Axis2 < 2.13 > -------------- > - does NOT support rpc/encoded any more > - supports rpc/literal and document/literal > - does NOT support document/literal wrapped > > Axis2 > 2.13 > ------------- > - as < 2.13 plus support for document/literal wrapped > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
