You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Guillaume Sauthier (JIRA)" <ax...@ws.apache.org> on 2004/12/08 11:02:14 UTC

[jira] Commented: (AXIS-1702) Problem around NodeImpl.children not filled

     [ http://nagoya.apache.org/jira/browse/AXIS-1702?page=comments#action_56371 ]
     
Guillaume Sauthier commented on AXIS-1702:
------------------------------------------

Ahhh !

I found something : the SOAPMessage that comes into the Handlers (server side) and is modified by theses handlers is not used when Deserializing the message into RPCParam before the service invokation!

Another thing : the deserialization of the soap message is based on SAX2EventRecorder.replay() . That means that the message stream is recorded once (and contains modifications from the client side request handlers). but this record is not updated when server handlers are modifying the message.

Update shouldn't be easy ...

> Problem around NodeImpl.children not filled
> -------------------------------------------
>
>          Key: AXIS-1702
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1702
>      Project: Axis
>         Type: Bug
>   Components: Basic Architecture, Serialization/Deserialization
>     Versions: 1.2RC2
>  Environment: JOnAS 4.3.0+
>     Reporter: Guillaume Sauthier
>  Attachments: axis-message-patch.txt
>
> It's the following of Bug AXIS-1697
> I found that when a Handler access the SOAPElement(RPCParam for Axis) that represent an operation parameter, the RPCParam.children wasn't filled. Even if the RPCParam was holding simple value as String.
> RPCParam should, in it's constructor, build more of the SOAP tree structure, a Text node (for java.lang.String value) should be instanciated and appended to the children list for example.
> That's the first point.
> I patched Axis to get it works for me, but now, I'm facing the same kind of problems for server side handlers.
> And it becomes more harder to understand what happens, because we enter in the deserialization process of the message.
> Sum up :
> * Axis patched
> * Client Handler has modified the SOAPMessage successfully : the serialized RPCParam has the right value
> * Server Handler traverse the SOAP Message (notice that the handler use a MessageElement, not a RPCParam) without problems
> * Server Handler modify the same Node the client handler modified before (add some stuff in the String)
> * But the RPCParam constructed in server side does not use the modified value
> * So the service implementation get the original String parameter (without the modifications of the Server Handler)!
> An idea ?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira