WebRowSet is just one way to do this. Haven't tried this by myself, but I presume somehow you can use WebRowSet.writeXml(OutputStream oStream) to generate a xsd:string or xsd:any and return it back. Another way to look into this is if ... Click here to more information
RE: Good way to return a RowSet from a service?