I am writing a simple app to expose Rest webservices to our application using
RestLet framework. I am trying to use xstream for automatic
serialization/de-serialization to xml and/or JSON.
I am facing issue on the client side. here is my client code
public static void main(String[] args) {
try {
ClientResource cr = new
ClientResource("http://tsbu-sr21:8080/rsoapis/rest/meeting");
// ResourceInterface roomsResource =
cr.wrap(ResourceInterface.class);
cr.getClientInfo().getAcceptedMediaTypes().add(new
Preference<MediaType>(MediaType.APPLICATION_XML));
// cr.get(MediaType.APPLICATION_JSON).write(System.out);
Representation resp = cr.get();
if (cr.getStatus().isSuccess()
&& cr.getResponseEntity().isAvailable()) {
cr.getResponseEntity().write(System.out);
XstreamRepresentation<MeetingRecord[]> xStream = new
XstreamRepresentation<MeetingRecord[]>(cr.getResponseEntity());
MeetingRecord[] meetings = xStream.getObject();
System.out.println("Meetings Fetched=" + meetings.length);
}
} catch (ResourceException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
Now the output to this I get the XML generated from the server as follows,
however I also get an exception with MeetingRecord[] meetings =
xStream.getObject();
com.thoughtworks.xstream.io.StreamException: : null
at
com.thoughtworks.xstream.io.xml.DomDriver.createReader(DomDriver.java:88)
at
com.thoughtworks.xstream.io.xml.DomDriver.createReader(DomDriver.java:70)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:861)
at
org.restlet.ext.xstream.XstreamRepresentation.getObject(XstreamRepresentation.java:163)
at
com.cisco.ts.scheduler.rest.MeetingsClient.main(MeetingsClient.java:52)
Caused by: java.net.MalformedURLException
at java.net.URL.<init>(URL.java:601)
at java.net.URL.<init>(URL.java:464)
at java.net.URL.<init>(URL.java:413)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown
Source)
at
org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at
com.thoughtworks.xstream.io.xml.DomDriver.createReader(DomDriver.java:79)
... 4 more
xml getting generated from server
<?xml version="1.0" encoding="UTF-8" ?>
<com.cisco.ts.scheduler.api.object.MeetingRecord-array>
<com.cisco.ts.scheduler.api.object.MeetingRecord>
<itsMeetingSystemID>040000008200E00074C5B7101A82E0080000000050B1C690EFD1CA01000000000000000010000000F8863701EC43234AB8505EE8DF5910A4</itsMeetingSystemID>
<itsMeetingSubject>Recurring single meeting</itsMeetingSubject>
<itsRecurringMeetingFlag>true</itsRecurringMeetingFlag>
<itsMeetingState>6</itsMeetingState>
<itsOrganizerID>[email protected]</itsOrganizerID>
<itsOrganizerTimeZone>America/Los_Angeles</itsOrganizerTimeZone>
<itsStartTime class="sql-timestamp">2010-07-08 15:00:00.0</itsStartTime>
<itsEndTime class="sql-timestamp">2010-07-08 15:30:00.0</itsEndTime>
<itsRoomNames>
<string>TelepresenceRoom23</string>
</itsRoomNames>
<itsParticipatedRoomNames/>
<itsMCUNames/>
<itsMeetingFeatures>
<int>0</int>
</itsMeetingFeatures>
<itsSurveyResponses/>
</com.cisco.ts.scheduler.api.object.MeetingRecord>
<com.cisco.ts.scheduler.api.object.MeetingRecord>
<itsMeetingSystemID>{EF4F1A75-3F8C-485A-BD0B-F3EC8474BB59}</itsMeetingSystemID>
<itsMeetingSubject>meeting 3x3</itsMeetingSubject>
<itsRecurringMeetingFlag>true</itsRecurringMeetingFlag>
<itsMeetingState>6</itsMeetingState>
<itsOrganizerID>[email protected]</itsOrganizerID>
<itsOrganizerTimeZone>America/Los_Angeles</itsOrganizerTimeZone>
<itsStartTime class="sql-timestamp">2010-07-08 09:30:00.0</itsStartTime>
<itsEndTime class="sql-timestamp">2010-07-08 10:00:00.0</itsEndTime>
<itsRoomNames>
<string>TelepresenceRoom17</string>
<string>TelepresenceRoom23</string>
</itsRoomNames>
<itsParticipatedRoomNames/>
<itsMCUNames/>
<itsMeetingFeatures>
<int>0</int>
</itsMeetingFeatures>
<itsSurveyResponses/>
</com.cisco.ts.scheduler.api.object.MeetingRecord>
<com.cisco.ts.scheduler.api.object.MeetingRecord>
<itsMeetingSystemID>{0E378EC9-C759-45DC-B24F-E2628315711F}</itsMeetingSystemID>
<itsMeetingSubject>Update: WEBEX1</itsMeetingSubject>
<itsRecurringMeetingFlag>false</itsRecurringMeetingFlag>
<itsMeetingState>6</itsMeetingState>
<itsOrganizerID>[email protected]</itsOrganizerID>
<itsOrganizerTimeZone>America/Los_Angeles</itsOrganizerTimeZone>
<itsStartTime class="sql-timestamp">2010-07-08 06:00:00.0</itsStartTime>
<itsEndTime class="sql-timestamp">2010-07-08 06:30:00.0</itsEndTime>
<itsRoomNames>
<string>TelepresenceRoom18</string>
<string>TelepresenceRoom17</string>
</itsRoomNames>
<itsParticipatedRoomNames/>
<itsMCUNames/>
<itsMeetingFeatures>
<int>0</int>
</itsMeetingFeatures>
<itsSurveyResponses/>
</com.cisco.ts.scheduler.api.object.MeetingRecord>
<com.cisco.ts.scheduler.api.object.MeetingRecord>
<itsMeetingSystemID>040000008200E00074C5B7101A82E0080000000060C2A69C71F7CA01000000000000000010000000E0B95D51395C27408EDDE589E783DD2B</itsMeetingSystemID>
<itsMeetingSubject>Mtng Extension Check test</itsMeetingSubject>
<itsRecurringMeetingFlag>true</itsRecurringMeetingFlag>
<itsMeetingState>6</itsMeetingState>
<itsOrganizerID>[email protected]</itsOrganizerID>
<itsOrganizerTimeZone>America/Los_Angeles</itsOrganizerTimeZone>
<itsStartTime class="sql-timestamp">2010-07-08 04:00:00.0</itsStartTime>
<itsEndTime class="sql-timestamp">2010-07-08 04:10:00.0</itsEndTime>
<itsRoomNames>
<string>TelepresenceRoom23</string>
<string>TelepresenceRoom18</string>
</itsRoomNames>
<itsParticipatedRoomNames/>
<itsMCUNames/>
<itsMeetingFeatures>
<int>0</int>
</itsMeetingFeatures>
<itsSurveyResponses/>
</com.cisco.ts.scheduler.api.object.MeetingRecord>
<com.cisco.ts.scheduler.api.object.MeetingRecord>
<itsMeetingSystemID>{440B75FA-9416-40FF-8937-93A3334CDAC2}</itsMeetingSystemID>
<itsMeetingSubject>recurring for 1 yr</itsMeetingSubject>
<itsRecurringMeetingFlag>true</itsRecurringMeetingFlag>
<itsMeetingState>6</itsMeetingState>
<itsOrganizerID>[email protected]</itsOrganizerID>
<itsOrganizerTimeZone>America/Los_Angeles</itsOrganizerTimeZone>
<itsStartTime class="sql-timestamp">2010-07-08 03:00:00.0</itsStartTime>
<itsEndTime class="sql-timestamp">2010-07-08 03:30:00.0</itsEndTime>
<itsRoomNames>
<string>TelepresenceRoom18</string>
<string>TelepresenceRoom17</string>
</itsRoomNames>
<itsParticipatedRoomNames/>
<itsMCUNames/>
<itsMeetingFeatures>
<int>0</int>
</itsMeetingFeatures>
<itsSurveyResponses/>
</com.cisco.ts.scheduler.api.object.MeetingRecord>
<com.cisco.ts.scheduler.api.object.MeetingRecord>
<itsMeetingSystemID>{BCCB6F21-1E07-4C5B-B431-FEEC5D0394FE}</itsMeetingSystemID>
<itsMeetingSubject>pagination meeting</itsMeetingSubject>
<itsRecurringMeetingFlag>true</itsRecurringMeetingFlag>
<itsMeetingState>6</itsMeetingState>
<itsOrganizerID>[email protected]</itsOrganizerID>
<itsOrganizerTimeZone>America/Los_Angeles</itsOrganizerTimeZone>
<itsStartTime class="sql-timestamp">2010-07-08 13:00:00.0</itsStartTime>
<itsEndTime class="sql-timestamp">2010-07-08 14:00:00.0</itsEndTime>
<itsRoomNames>
<string>TelepresenceRoom18</string>
</itsRoomNames>
<itsParticipatedRoomNames/>
<itsMCUNames/>
<itsMeetingFeatures>
<int>0</int>
</itsMeetingFeatures>
<itsSurveyResponses/>
</com.cisco.ts.scheduler.api.object.MeetingRecord>
<com.cisco.ts.scheduler.api.object.MeetingRecord>
<itsMeetingSystemID>{5154B9D7-0001-40E9-B85B-7D4B3C550615}</itsMeetingSystemID>
<itsMeetingSubject>TelepresenceRoom18 test meeting
-hari</itsMeetingSubject>
<itsRecurringMeetingFlag>true</itsRecurringMeetingFlag>
<itsMeetingState>6</itsMeetingState>
<itsOrganizerID>[email protected]</itsOrganizerID>
<itsOrganizerTimeZone>America/Los_Angeles</itsOrganizerTimeZone>
<itsStartTime class="sql-timestamp">2010-07-07 23:00:00.0</itsStartTime>
<itsEndTime class="sql-timestamp">2010-07-07 23:30:00.0</itsEndTime>
<itsRoomNames>
<string>TelepresenceRoom18</string>
</itsRoomNames>
<itsParticipatedRoomNames/>
<itsMCUNames/>
<itsMeetingFeatures>
<int>0</int>
</itsMeetingFeatures>
<itsSurveyResponses/>
</com.cisco.ts.scheduler.api.object.MeetingRecord>
<com.cisco.ts.scheduler.api.object.MeetingRecord>
<itsMeetingSystemID>040000008200E00074C5B7101A82E0080000000090CBBA707FD2CA010000000000000000100000008FBEAAE3450EA045A160B5DE08719AC5</itsMeetingSystemID>
<itsMeetingSubject>Kim Test 47 - testing recur</itsMeetingSubject>
<itsRecurringMeetingFlag>true</itsRecurringMeetingFlag>
<itsMeetingState>6</itsMeetingState>
<itsOrganizerID>[email protected]</itsOrganizerID>
<itsOrganizerTimeZone>America/Los_Angeles</itsOrganizerTimeZone>
<itsStartTime class="sql-timestamp">2010-07-08 01:30:00.0</itsStartTime>
<itsEndTime class="sql-timestamp">2010-07-08 01:45:00.0</itsEndTime>
<itsRoomNames>
<string>TelepresenceRoom17</string>
</itsRoomNames>
<itsParticipatedRoomNames/>
<itsMCUNames/>
<itsMeetingFeatures>
<int>0</int>
</itsMeetingFeatures>
<itsSurveyResponses/>
</com.cisco.ts.scheduler.api.object.MeetingRecord>
<com.cisco.ts.scheduler.api.object.MeetingRecord>
<itsMeetingSystemID>{BA807B97-0890-4048-AA33-3B9196A652EB}</itsMeetingSystemID>
<itsMeetingSubject>INTEROP</itsMeetingSubject>
<itsRecurringMeetingFlag>false</itsRecurringMeetingFlag>
<itsMeetingState>6</itsMeetingState>
<itsOrganizerID>[email protected]</itsOrganizerID>
<itsOrganizerTimeZone>America/Los_Angeles</itsOrganizerTimeZone>
<itsStartTime class="sql-timestamp">2010-07-08 06:30:00.0</itsStartTime>
<itsEndTime class="sql-timestamp">2010-07-08 07:00:00.0</itsEndTime>
<itsRoomNames>
<string>TelepresenceRoom18</string>
<string>TelepresenceRoom17</string>
</itsRoomNames>
<itsParticipatedRoomNames/>
<itsMCUNames/>
<itsMeetingFeatures>
<int>0</int>
</itsMeetingFeatures>
<itsSurveyResponses/>
</com.cisco.ts.scheduler.api.object.MeetingRecord>
<com.cisco.ts.scheduler.api.object.MeetingRecord>
<itsMeetingSystemID>{095733B2-C75F-435D-B53B-0DDCED0CE167}</itsMeetingSystemID>
<itsMeetingSubject>add meetings</itsMeetingSubject>
<itsRecurringMeetingFlag>true</itsRecurringMeetingFlag>
<itsMeetingState>6</itsMeetingState>
<itsOrganizerID>[email protected]</itsOrganizerID>
<itsOrganizerTimeZone>America/Los_Angeles</itsOrganizerTimeZone>
<itsStartTime class="sql-timestamp">2010-07-08 02:30:00.0</itsStartTime>
<itsEndTime class="sql-timestamp">2010-07-08 03:00:00.0</itsEndTime>
<itsRoomNames>
<string>TelepresenceRoom18</string>
</itsRoomNames>
<itsParticipatedRoomNames/>
<itsMCUNames/>
<itsMeetingFeatures>
<int>0</int>
</itsMeetingFeatures>
<itsSurveyResponses/>
</com.cisco.ts.scheduler.api.object.MeetingRecord>
<com.cisco.ts.scheduler.api.object.MeetingRecord>
<itsMeetingSystemID>040000008200E00074C5B7101A82E00800000000803C26CE05DCCA010000000000000000100000007183C824DB583F43BC29B2A690A459E2</itsMeetingSystemID>
<itsMeetingSubject>Kim WEd Test 60 - test recurring- changing
subject</itsMeetingSubject>
<itsRecurringMeetingFlag>true</itsRecurringMeetingFlag>
<itsMeetingState>6</itsMeetingState>
<itsOrganizerID>[email protected]</itsOrganizerID>
<itsOrganizerTimeZone>America/Los_Angeles</itsOrganizerTimeZone>
<itsStartTime class="sql-timestamp">2010-07-08 03:00:00.0</itsStartTime>
<itsEndTime class="sql-timestamp">2010-07-08 03:15:00.0</itsEndTime>
<itsRoomNames>
<string>TelepresenceRoom23</string>
</itsRoomNames>
<itsParticipatedRoomNames/>
<itsMCUNames/>
<itsMeetingFeatures>
<int>0</int>
</itsMeetingFeatures>
<itsSurveyResponses/>
</com.cisco.ts.scheduler.api.object.MeetingRecord>
</com.cisco.ts.scheduler.api.object.MeetingRecord-array>
--
View this message in context:
http://restlet-discuss.1400322.n2.nabble.com/Facing-issue-with-XstreamRepresentation-tp5271611p5271611.html
Sent from the Restlet Discuss mailing list archive at Nabble.com.
------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2631123