Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.3
-
Fix Version/s: 1.3.1
-
Component/s: Converters
-
Labels:None
-
JDK version and platform:Sun 1.5, Mac and Windows
Description
We're using XStream to pass some objects from sever-side back to the client. The server has some internal classes that only exist server-side, but during serialization they're writeReplace()'ed to a common API class. When the xml gets deserialized by XStream client-side it sees something like this:
...
<variable class="com.server.$$InternalClass$$" resolves-to="com.api.NormalClass">
...
The class 'com.server.$$InternalClass$$' doesn't exist client-side, but 'com.api.NormalClass' does. This shouldn't cause a problem, but XStream is still throwing a ClassNotFoundException.
I've attached a zip file containing two files:
- WriteReplaceTest.java - a test case demonstrating the bug with a contrived example.
- xstream-1.3-FB10536.patch - a simple patch that fixed this problem for our particular case. I'm hoping there's a better, more general solution.
Activity
Kevin Bowman
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Attachment | xstream-1.1.2-FB10536.patch [ 35461 ] |
Jörg Schaible
made changes -
| Fix Version/s | 1.x Maintenance [ 12873 ] | |
| Resolution | Fixed [ 1 ] | |
| Status | Open [ 1 ] | Resolved [ 5 ] |
Jörg Schaible
made changes -
| Fix Version/s | 1.3.1 [ 14744 ] | |
| Fix Version/s | 1.x Maintenance [ 12873 ] |
Jörg Schaible
made changes -
| Status | Resolved [ 5 ] | Closed [ 6 ] |