No no, I understand what you mean. And I think that is something we
can easily do. So in services,xml he can map QName to
Serialization/DeSerialization classes then we can easily call them.

I like the idea, let's go for it.

Deepal

On Fri, Jun 19, 2009 at 9:22 AM, Davanum Srinivas<dava...@gmail.com> wrote:
> MR you take over everything.
>
> With Axis1's TypeMappingRegistry you have a default registry for QName/Java
> classes and a user can override only the things they want to.
>
> Basically the users want to keep most of the functionality in
> RPCMessageReceiver as-is but would like to modify just bits and pieces of
> Java<->XML
>
> Guess, i should not bring up Axis1 design. my fault.
>
> thanks,
> -- dims
>
>
> On 06/19/2009 09:15 AM, Deepal Jayasinghe wrote:
>>
>> What the difference of writing a MR and a serializer/deserializer ?, I
>> do not see a big difference.
>>
>> Deepal
>>
>> On Fri, Jun 19, 2009 at 7:41 AM, Davanum Srinivas<dava...@gmail.com>
>>  wrote:
>>>
>>> Guess it's time to port the pluggable serializer/deserializer mechanism
>>> from
>>> Axis1 :)
>>>
>>> -- dims
>>>
>>> On 06/19/2009 06:33 AM, Andreas Veithen wrote:
>>>>
>>>> So, to summarize: You are happy with most of the JavaBeans<->    XML
>>>> mapping rules, but you want to customize some of them (e.g.
>>>> java.util.Date/java.util.Calendar<->    xsd:date/xsd:dateTime mapping or
>>>> the way arrays are mapped), without modifying Axis2 code (or creating
>>>> a fork of it). Is that correct?
>>>>
>>>> I think that is a valid use case that we should support, but we need
>>>> to do that in a proper way without degrading the architecture.
>>>>
>>>> Andreas
>>>>
>>>> On Fri, Jun 19, 2009 at 10:29, Pétur Runólfsson<pe...@betware.com>
>>>>  wrote:
>>>>>
>>>>> Hi Sanjiva,
>>>>>
>>>>>> I guess your point is that RPCMessageReceiver does everything you want
>>>>>> except do the JavaBeans<->    XML mapping the way you want?
>>>>>
>>>>> Exactly.
>>>>>
>>>>>> In that case, can you not subclass the message receiver and redirect
>>>>>> some code?
>>>>>
>>>>> That's what I would like to do, but it's currently not possible because
>>>>> all the interesting methods are static and can't be overridden. That's
>>>>> why
>>>>> the original patch changed some of those methods to be instance methods
>>>>> instead.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Pétur Runólfsson
>>>>> Betware
>>>>> ________________________________________
>>>>> From: Sanjiva Weerawarana [sanj...@opensource.lk]
>>>>> Sent: Friday, June 19, 2009 02:48
>>>>> To: axis-dev
>>>>> Subject: Re: [Axis2] Make RPCUtil more flexible
>>>>>
>>>>> Hi ... I'm a bit confused. Do you want to modify the behavior of ADB or
>>>>> the behavior of JavaBeans<->    XML mapping? The follow-up email
>>>>> proposal
>>>>> suggests the latter.
>>>>>
>>>>> If its the latter, the design approach in Axis2 was that you'd have
>>>>> your
>>>>> own message receiver that did whatever you want. I guess your point is
>>>>> that
>>>>> RPCMessageReceiver does everything you want except do the JavaBeans<->
>>>>>    XML
>>>>> mapping the way you want? In that case, can you not subclass the
>>>>> message
>>>>> receiver and redirect some code?
>>>>>
>>>>> Sanjiva.
>>>>>
>>>>> 2009/6/18 Pétur Runólfsson<pe...@betware.com<mailto:pe...@betware.com>>
>>>>> Hi Andreas,
>>>>>
>>>>> I agree that just taking RPCUtil and making the methods non-static
>>>>> doesn't result in a great design. On the other hand it's a quick way to
>>>>> get
>>>>> some more flexibility without changing much code.
>>>>>
>>>>> Anyway, in order to get started on an API, here are the things called
>>>>> by
>>>>> RPCMessageReceiver I think are most important to be customizable:
>>>>>
>>>>> * Conversion from OMElement to Object (approximately
>>>>> BeanUtil.processObject(OMElement omElement, Class classType,
>>>>> MultirefHelper
>>>>> helper, boolean isArrayType, ObjectSupplier objectSupplier), or maybe
>>>>> BeanUtil.deserialize(OMElement response, Object [] javaTypes,
>>>>> ObjectSupplier
>>>>> objectSupplier, String[] parameterNames), depending on how arrays
>>>>> should be
>>>>> treated)
>>>>> * Conversion from Object to OMElement (most of
>>>>> RPCUtil.processResponse(SOAPFactory fac, Object resObject, OMElement
>>>>> bodyContent, OMNamespace ns, SOAPEnvelope envelope, Method method,
>>>>> boolean
>>>>> qualified, TypeTable typeTable), also BeanUtil.getPullParser(Object
>>>>> beanObject, QName beanName, TypeTable typeTable, boolean qualified,
>>>>> boolean
>>>>> processingDocLitBare), the interface here might be more convenient to
>>>>> extend
>>>>> if the XMLStreamReader was dropped and objects converted directly to
>>>>> OMElement instead)
>>>>>
>>>>> This might result in an interface like:
>>>>>
>>>>> public interface BeanConverter {
>>>>>  Object deserialize(OMElement omElement, Class targetType);
>>>>>  OMElement serialize(Object object, QName name);
>>>>> }
>>>>>
>>>>> OMElement could maybe be replaced with XMLStreamReader, but I think the
>>>>> interface is much nicer if the same type is used in both directions.
>>>>> Note
>>>>> that ObjectSupplier, MultirefHelper, SOAPEnvelope, TypeTable,
>>>>> SOAPFactory,
>>>>> qualified and processingDocLitBare don't need to be parameters on the
>>>>> (de)serialize methods in this interface, since implementations will be
>>>>> stateful. There should probably be setters for them in the interface.
>>>>>
>>>>> There are other things that could be interesting extension points (for
>>>>> example handling errors from the service method, or looking up the
>>>>> service
>>>>> method), but I think the above two would be a good start.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Pétur Runólfsson
>>>>> Betware
>>>>> ________________________________________
>>>>> From: Andreas Veithen
>>>>> [andreas.veit...@gmail.com<mailto:andreas.veit...@gmail.com>]
>>>>> Sent: Thursday, June 18, 2009 14:14
>>>>> To: axis-dev@ws.apache.org<mailto:axis-dev@ws.apache.org>
>>>>> Subject: Re: [Axis2] Make RPCUtil more flexible
>>>>>
>>>>> Pétur,
>>>>>
>>>>> I didn't look in detail at your suggestion, but I have some doubts
>>>>> from an architecture point of view. I don't think that taking an
>>>>> existing utility class and promote that to an API or extension point
>>>>> will improve the quality of the Axis2 architecture. If there are
>>>>> aspects that need to be configurable or extensible, than we should
>>>>> define a proper API for that.
>>>>>
>>>>> Andreas
>>>>>
>>>>> On Thu, Jun 18, 2009 at 13:19, Pétur
>>>>> Runólfsson<pe...@betware.com<mailto:pe...@betware.com>>    wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> For various reasons, I have on several occasions wanted to modify the
>>>>>> behavior of ADB. Unfortunately, in many cases the only way to do this
>>>>>> is to
>>>>>> change the ADB source code and recompile, because most of the relevant
>>>>>> bits
>>>>>> of ADB is composed of static methods that can't be overridden.
>>>>>>
>>>>>> Here is a patch to convert some of the static methods to instance
>>>>>> methods. The patch removes the static qualifier from all methods in
>>>>>> RPCUtil.
>>>>>> A protected RPCUtil member is added to the classes that use RPCUtil
>>>>>> (RPCMessageReceiver and JavaTransportSender). This makes it possible
>>>>>> to
>>>>>> customize RPCUtil by extending those classes and setting the RPCUtil
>>>>>> member
>>>>>> to a subclass of RPCUtil.
>>>>>>
>>>>>> Because this patch removes static qualifiers from public methods, the
>>>>>> change is neither source nor binary compatible. If this is a problem,
>>>>>> it is
>>>>>> possible instead to move the code to a new class (maybe named
>>>>>> RPCInvoker?),
>>>>>> and have RPCMessageReceiver and JavaTransportSender use that class.
>>>>>> RPCUtil
>>>>>> would have a static instance of new new class and forward all calls to
>>>>>> that.
>>>>>> If keeping compatibility is preferred, I can make a new patch that
>>>>>> does
>>>>>> this.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Pétur Runólfsson
>>>>>> Betware
>>>>>
>>>>> The content of this e-mail, together with any of its attachments, is
>>>>> for
>>>>> the exclusive and confidential use of the named addressee(s) and it may
>>>>> contain legally privileged and confidential information and/or
>>>>> copyrighted
>>>>> material. Any other distribution, use or reproduction without the
>>>>> sender's
>>>>> prior consent is unauthorized and strictly prohibited. If you have by
>>>>> coincidence, mistake or without specific authorization received this
>>>>> e-mail
>>>>> in error, please notify the sender by e-mail immediately, uphold strict
>>>>> confidentiality and neither read, copy, transfer, disseminate, disclose
>>>>> nor
>>>>> otherwise make use of its content in any way and delete the material
>>>>> from
>>>>> your computer.
>>>>>
>>>>> The content of the e-mail and its attachments is the liability of the
>>>>> individual sender, if it does not relate to the affairs of Betware.
>>>>> Betware does not assume any civil or criminal liability should the
>>>>> e-mail
>>>>> or it´s attachments be virus infected.
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sanjiva Weerawarana, Ph.D.
>>>>> Founder, Director&    Chief Scientist; Lanka Software Foundation;
>>>>> http://www.opensource.lk/
>>>>> Founder, Chairman&    CEO; WSO2, Inc.; http://www.wso2.com/
>>>>> Member; Apache Software Foundation; http://www.apache.org/
>>>>> Visiting Lecturer; University of Moratuwa; http://www.cse.mrt.ac.lk/
>>>>>
>>>>> Blog: http://sanjiva.weerawarana.org/
>>>>>
>>>>> The content of this e-mail, together with any of its attachments, is
>>>>> for
>>>>> the exclusive and confidential use of the named addressee(s) and it may
>>>>> contain legally privileged and confidential information and/or
>>>>> copyrighted
>>>>> material. Any other distribution, use or reproduction without the
>>>>> sender's
>>>>> prior consent is unauthorized and strictly prohibited. If you have by
>>>>> coincidence, mistake or without specific authorization received this
>>>>> e-mail
>>>>> in error, please notify the sender by e-mail immediately, uphold strict
>>>>> confidentiality and neither read, copy, transfer, disseminate, disclose
>>>>> nor
>>>>> otherwise make use of its content in any way and delete the material
>>>>> from
>>>>> your computer.
>>>>>
>>>>> The content of the e-mail and its attachments is the liability of the
>>>>> individual sender, if it does not relate to the affairs of Betware.
>>>>> Betware does not assume any civil or criminal liability should the
>>>>> e-mail
>>>>> or it´s attachments be virus infected.
>>>>>
>

Reply via email to