On Tuesday 02 July 2002 22:54, Scott Nichol wrote:
> I am curious: how did Apache SOAP create "the initial illuision of
> distributed OO programming but could not support it in its full glory"?

I don't think the issue is "Is Apache SOAP a good implementation of SOAP?" but 
more "Is SOAP good enough to use for <fill in your scope>".

I, for one, did not sit down and read the spec from cover to cover, but took a 
look at certain examples, and they "portrayed" the image of Object 
orientation. In our case, the advantages far outweighed the disadvantages, 
and the OO aspect (object references) was implemented "manually", like in the 
good old C days.

<copy /><paste>
> Are you saying that you expect Apache SOAP to provide a more transparent
> layer over SOAP, which is, after all, pretty much just a fairly naive RPC
> mechanism?  How transparent do you expect it to be?  Even with RMI, I found
> I was overriding the default serialization for maybe 25% of my domain
> classes.  The closest thing in Apache SOAP to transparent serialization is
> the BeanSerializer, but it is limited to JavaBean semantics.
</paste>

Yes, noone would expect classes to be transparent by default. What one would 
hope for is that other people's classes are serializable by default, 
especially since the concept exists in Java natively. 
To bring back the discussion to Maps and Collections, I think that they should 
be better supported explicitly, so that I can have Collections in Maps and so 
on, without trying to figure out what does actually happen deep inside 
classes, or superclasses.

So, back to my jihad (struggle) I should just register the TreeMap and HashMap 
to use the MapSerializer;


    public void setMappingType( String quri, String qlocalpart,
                                Class clsType,
                                Serializer serializer, Deserializer 
deserializer )
    {
        createMappingTypes( m_Call, quri, qlocalpart, clsType, serializer, 
deserializer );
}


private void createMappingTypes( 
        Call call, String quri,
        String qlocalpart, Class clsType,
        Serializer serializer, Deserializer deserializer )
{
        SOAPMappingRegistry registry = call.getSOAPMappingRegistry();
        registry.mapTypes( Constants.NS_URI_SOAP_ENC, 
                                        new QName( quri, qlocalpart ), 
                                        clsType, 
                                        serializer, deserializer );
    }


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to