Benson, I think there should be a vote first to support RPC/Encoded in CXF. I won't veto it, but I fear you're opening up a can of worms, as we are not really a JAX-RPC implementation, and an attempt to do so will only require more changes and maintenance headaches downstream.
Also, from what I believe Dan Kulp had said earlier, RPC/encoded was specifically tossed out from WS-I BP because it is not a safe/secure coding style. So this may not be a situation where some people say "autumn" while others say "fall", so why not allow both? Rather, it is more akin to building codes no longer allowing asbestos in the ceilings. I think that's why the Axis and Metro teams just refer readers needing this to legacy products, and just wash their hands of the matter. That said, I have a net total of six months experience with web services. The vast majority of the team who has been working with them for years I will happily defer to. Just my $0.02. Glen Am Mittwoch, den 12.12.2007, 09:58 -0500 schrieb Benson Margulies: > Hmm. Well, I committed Dain's patch without predicting that there might > be some negative opinion. > > I like the idea of CXF being a comprehensive tool. I reviewed Dain's > patches, and the negative impact of adding 'encoding' is far smaller > than the positive aspect of Dain's modularity improvements. > > CXF's claim to fame to some significant extent is 'We build what you > need, not what we think you need.' > > Someone could, by the way, take a similiar attitude toward my JavaScript > project. Is JavaScript client generation a core function? Is it a good > idea, in part, because it gets us another committer and another smart > person working on whatever? > > > > On Wed, 2007-12-12 at 09:31 -0500, Glen Mazza wrote: > > That's what Axis1 is for. Besides, can't they also use XFire? Or SAAJ? > > Or Dispatch objects? It can be done[1]. > > > > The Axis dev's have always been quite unyielding on this. If you say > > you need RPC/encoded on the axis-user ML, you're politely referred to > > Axis1 and that's that. > > > > I don't know the severity of the changes involved, or any long-term > > consequences of supporting this. My instinct is, though, that if you > > need to play a record, you have to get a phonograph machine. Asking CD > > sound systems to retrofit seems unrealistic. > > > > Glen > > > > [1] http://www.jroller.com/gmazza/date/20071102 > > > > Am Mittwoch, den 12.12.2007, 09:08 -0500 schrieb Benson Margulies: > > > Because there are, apparently, plenty of production systems that use it > > > that folks want to talk to. And asking them to use Axis1 is in the > > > category of 'putting out a stumbling block for the blind'. > > > > > > > > > On Wed, 2007-12-12 at 08:59 -0500, Glen Mazza wrote: > > > > I'm hardly an expert here, but isn't RPC/encoded obsolete/not WS-I BP > > > > compliant? (JAX-RPC, likewise?) Axis2 has resisted supporting it for > > > > multiple years now--they refer their users to Axis1 for it. (Also, > > > > don't users who need this functionality rely on Axis1 xFire instead?) I > > > > can understand needing to retain obsolete technologies for backwards > > > > compatibility issues, but to retrofit CXF and have it now support an > > > > obsolete standard where it didn't before seems questionable. > > > > > > > > I'm not sure we should be supporting this deprecated technology, or > > > > providing an avenue for users to be working with it. > > > > > > > > Glen > > > > > > > > > > > > Am Montag, den 10.12.2007, 19:45 -0800 schrieb Dain Sundstrom: > > > > > A couple of weeks ago I integrated CXF into OpenEJB for JaxWS > > > > > support, and it went so well that it got me thinking that it would > > > > > be > > > > > great to use CXF for JaxRPC support as well. When I met Dan Kulp at > > > > > ApacheCon, I mentioned this idea and he figured the biggest road > > > > > block for implementing JaxRPC is supporting RPC/Encoded. So, last > > > > > weekend I had some free time and decided to try to hack SOAP encoded > > > > > support into CXF, and to my surprise it wasn't to difficult add > > > > > Aegis > > > > > Types to support the SOAP strut and reference classes. > > > > > SOAP encoded struct support is provided by the StructType subclass > > > > > of > > > > > BeanType. I did have to extract a few methods from the writeObject > > > > > method to hook element writing. I also had to make a couple of > > > > > methods more public. > > > > > > > > > > As for how it works, the best place to start is the StructTypeTest. > > > > > Basically, read and write follow the same pattern: > > > > > > > > > > 1) read/write message parts with the SoapRefType > > > > > 2) read/write trailing serialized blocks with TrailingBlocks > > > > > > > > > > As each object is read we check if it contains a SOAP id attribute, > > > > > and if it does we register it with the SoapRefRegistry in the > > > > > context. If an element contains a SOAP ref attribute we register a > > > > > ref that is "set" when the reference is resolved (which my be > > > > > immediately or later). > > > > > > > > > > When writing, every complex object is given a SOAP id and every > > > > > reference to another complex object is written as a reference. The > > > > > actual referenced object registered with the MarshalRegistry in the > > > > > context and is written by the TrailingBlocks class. > > > > > > > > > > I've attached my patch to (https://issues.apache.org/jira/browse/ > > > > > CXF-1281). Next, I'm going to write Type class for SOAP encoded > > > > > arrays. > > > > > > > > > > WDYT? > > > > > > > > > > -dain > > > > > > > > > >
