[ http://jira.codehaus.org/browse/XFIRE-842?page=comments#action_85441 ] 
            
Andrzej Doyle commented on XFIRE-842:
-------------------------------------

(Oops, there's apparently a submit short cut I hit by mistake.  Continuing:)

...having "services.c.b.a.com" as their namespace, according to java 
interrogation, the actual XML document produced has "presentation.c.b.a.com" as 
the output, which would explain why there's a mismatch.  With this new 
information, it seems that the reading side is doing completely the right thing 
- and while the write side tries to do the right thing, it's not happening 
somehow.

FYI, the actual root writer in this situation is an instance of 
org.codehaus.xfire.util.stax.W3CDOMStreamWriter.

I'll continue the investigation and see if I can produce some failing test 
cases.

> Map entries not reconstructed on other side of WS call due to namespace 
> mismatch
> --------------------------------------------------------------------------------
>
>                 Key: XFIRE-842
>                 URL: http://jira.codehaus.org/browse/XFIRE-842
>             Project: XFire
>          Issue Type: Bug
>          Components: Aegis Module
>    Affects Versions: 1.2.4
>         Environment: Discovered on server running Jetty 5.1.10, though this 
> appears to occur universally
>            Reporter: Andrzej Doyle
>         Assigned To: Dan Diephouse
>            Priority: Blocker
>             Fix For: 1.2.5
>
>
> I have a simple Map<String, String> as one of the bean properties of an 
> object that is being sent across the wire.  When this object is being written 
> out on the client side, the EntryWriter used has a namespace of 
> "services.c.b.a.com" (anonymised).  This is more or less what I would expect 
> from the generation; at least, it matches the QName for my map entries 
> according to the map's Type (as it should from line 180).
> When the parameter is read on the server side, flow correctly passes into 
> MapType.readObject().  The object that this method is called on is identical 
> to the serialising object on the server; specifically, it also has an entry 
> type QName of "services.c.b.a.com".  However, when the call goes out to 
> reader.getNextElementReader() (line 61), the ElementReader that is returned 
> inherits its name from the 'root' reader - and this is set to 
> "presentation.c.b.a.com".  As a result, the test on line 63 fails as the 
> namespaces are different, and no map entries are ever read.
> As a result my maps are always recreated empty on the other side of the WS 
> call.
> This seems to be an issue within the MapType - if the ElementReader on the 
> write side is created to have the same namespace as the map's type, then 
> surely this should be the same on the read side.  Currently it seems that 
> this will fail any time MapType.getKeyName() != ElementReader.root.getName().
> I haven't attached any test cases as I'm not familiar with how the 
> MessageReaders passed into MapType.readObject() are created, and when & why 
> the above inequality occurs.  I'll step through the debugger and try to come 
> up with some tests, but I'm submitting the bug now in the hope that someone 
> with more familiarity in that area will be able to quickly see what the root 
> cause is.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to