Radu, mc is the MessageContext class from Apache Synapse http://synapse.apache.org/apidocs/org/apache/synapse/MessageContext.html. I'll try your debug steps to see if I can get any more information.
~Michael On Tue, Aug 5, 2008 at 8:11 PM, Radu Preotiuc-Pietro < [EMAIL PROTECTED]> wrote: > Mike, > > What is "mc"? What Java class/API? > > I think you can do two things to debug this further: > 1. Use XmlOptions.setErrorListener(Collection) to retrieve the error > messages, then see what the specific error is (use the XmlOptions object as > parameter to the resp.validate() call) > 2. Capture the XML passed from the SOAP body to XMLBeans (before it gets to > XMLBeans). Save it to a file and see if it looks ok (based on its > Schema) and where the discrepancy is. I am thinking there are maybe some > namespace bindings that don't make it across from the SOAP stack to > XMLBeans, it's a possibility. > > Radu > > ------------------------------ > *From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] *On Behalf Of *Michael > Ihde > *Sent:* Sunday, August 03, 2008 10:48 AM > *To:* [email protected] > *Subject:* XMLBeans, Axiom, and Synapse/WSO2-ESB > > I'm trying to see if I can use XMLBeans to deal with an Axiom SOAPBody. > The following DeveloperWorks guide showed how to bring Axiom and XMLBeans > together: > > http://www.ibm.com/developerworks/library/x-axiom/ > > So I tried to extend Sample 380 in WSO2-ESB and basically had this as the > first lines in my mediate() function: > > XMLStreamReader reader = > mc.getEnvelope().getBody().getFirstElement().getFirstElement().getXMLStreamReaderWithoutCaching(); > GetQuoteResponse resp = GetQuoteResponse.Factory.parse(reader); > System.out.println("Validate " + resp.validate()); > System.out.println(resp.toString()); > > This is what prints out > > Validate false > <ns:return type="samples.services.GetQuoteResponse" xmlns:ns=" > http://services.samples/xsd"> > <ns:change>-2.8637862443067323</ns:change> > <ns:earnings>-8.734540628084734</ns:earnings> > <ns:high>-87.61828398040504</ns:high> > <ns:last>89.13763928944611</ns:last> > <ns:lastTradeTimestamp>Sun Aug 03 13:33:52 EDT > 2008</ns:lastTradeTimestamp> > <ns:low>-88.94988407359973</ns:low> > <ns:marketCap>4141070.6717920825</ns:marketCap> > <ns:name>IBM Company</ns:name> > <ns:open>-88.72550360449267</ns:open> > <ns:peRatio>25.296622152954335</ns:peRatio> > <ns:percentageChange>-2.9624706336045223</ns:percentageChange> > <ns:prevClose>96.6688483531829</ns:prevClose> > <ns:symbol>IBM</ns:symbol> > <ns:volume>5034</ns:volume> > </ns:return> > > I believe the problem is because the return element is defined as having a > type of samples.services.GetQuoteResponse. How do I get XMLBeans to accept > the return element so that I can perform a function such as resp.getLast()? > > Am I completely off base? Is there a better way to do this? > > Thanks, > Michael > >

