I wonder if you can use server to do the first round of parsing before using
Android to parse resulting XML.

On Mon, Jul 5, 2010 at 8:51 PM, JD <[email protected]> wrote:

> The exception reported below is a limitation in the android sax parser
> implementation.
>
> > > > W/XmlParser(10388): javax.xml.parsers.ParserConfigurationException:
> > > > org.xml.sax.SAXNotRecognizedException:
> http://xml.org/sax/features/external-parameter-entities
> > > > W/XmlParser(10388): javax.xml.parsers.ParserConfigurationException:
> > > > org.xml.sax.SAXNotRecognizedException:
> http://xml.org/sax/features/external-parameter-entities
> > > > W/XmlParser(10388):     at
> > > >
> org.apache.harmony.xml.parsers.SAXParserFactoryImpl.newSAXParser(SAXParserF
> actoryImpl.java:
> > > > 84)
>
> A fix has been requested in android to avoid this exception.
>
> See http://code.google.com/p/android/issues/detail?id=9493
>
> -JD
>
> On Jun 16, 5:27 am, "Paul (Google)" <[email protected]> wrote:
> > Hi Achie,
> >
> > There seems to be issues with using the version 1.x (version 1.41.3)
> > GData Java client libraries on Android.  You should be able to use the
> > version 2, alpha GData Java client libraries at the following page:
> >
> > http://code.google.com/p/gdata-java-client/wiki/Version2
> >
> > This Java client documentation for Health corresponds to the 1.x
> > version of the GData client library, however, so there may be some
> > differences between the Health documentation and alpha library.  The
> > library development team will certainly be able to help understand the
> > differences.  If you need support, they have a discussion group at the
> > following location that should be helpful.  We can certainly try to
> > debug issues with these libraries in this group as well!
> >
> > http://groups.google.com/group/gdata-java-client/topics
> >
> > Alternately, you can connect to Health using the Apache HTTPClient
> > that's included with Android, following the protocol instructions at
> > the following location:
> >
> > http://code.google.com/apis/health/docs/2.0/developers_guide_protocol...
> >
> > I have some snippets of code using the HTTPClient that I'd be happy to
> > share; although, it's not a complete example app yet.  If you're stuck
> > at a particular point using the HTTPClient, I can definitely see about
> > sharing or writing some example code.
> >
> > Paul
> >
> > On Jun 15, 10:00 am, Achie <[email protected]> wrote:> Megha,
> >
> > > you might be able to use this to get the CCR as XML, which you might
> > > have to parse. I do not know if Google already has the libraries or
> > > saxparsers which would do this. So I am writing them myself for now.
> > > But I could not get the authentication to work from android as I have
> > > described in my earlier post. Can you help me with that since you seem
> > > to have managed to finish the authentication part.
> >
> > > Here is the code that can be used to pull the CCR as xml.[Code from
> > > Google]
> > >                 ProfileFeed feed = service.getFeed(new
> URL(PROFILE_FEED_PATH + "ui/"
> > > + profileId), ProfileFeed.class);
> > >                 for (ProfileEntry entry : feed.getEntries()) {
> >
> > > out.println(entry.getContinuityOfCareRecord().getXmlBlob().getBlob());
> > >                 }
> >
> > > Thank you,
> > > Achie.
> >
> > > On Jun 15, 10:54 am, Achie <[email protected]> wrote:
> >
> > > > Hi,
> >
> > > > I am able to access the CCR records using client login but I could
> not
> > > > do the same from android. I guess I am missing some saxparser
> > > > libraries.
> > > > Here is the code that I am using. I am using the same code that was
> > > > used in the example code provided by google for client login.
> > > > Can someone let me know where I am going wrong or what I am missing.
> >
> > > >                         GoogleService myService = new GoogleService(
> > > >                         "health","My Application");
> > > >                         myService.setUserCredentials("username",
> "password");
> >
> > > >                         // Get a list of all entries
> > > >                         URL metafeedUrl = new URL("
> https://www.google.com/health/feeds/
> > > > profile/list");
> > > >                         System.out.println("Getting Health profile
> entries...\n");
> > > >                         Feed resultFeed =
> myService.getFeed(metafeedUrl, Feed.class);
> > > >                         List<Entry> entries =
> resultFeed.getEntries();
> > > >                         for(int i=0; i<entries.size(); i++) {
> > > >                                 Entry entry = entries.get(i);
> > > >                                 System.out.println("\t" +
> entry.getTitle().getPlainText());
> > > >                                 profilesString +=
> entry.getTitle().getPlainText()+ "\n";
> > > >                         }
> > > > And here are my referenced libraries.
> > > > gdata-core-1.0.jar
> > > > gdata-client-meta-1.0.jar
> > > > gdata-client-1.0.jar
> > > > gdata-health-meta-2.0.jar
> > > > gdata-health-2.0.jar
> > > > gdata-media-1.0.jar
> > > > jsr305.jar
> > > > google-collect-1.0-rc1.jar
> >
> > > > And this is the error log that I get.
> > > > I/dalvikvm(10388): Could not find method
> > > > javax.xml.parsers.SAXParserFactory.getSchema, referenced from method
> > > > com.google.gdata.util.common.xml.parsing.SecureGenericXMLFactory
> > > > $SecureSAXParserFactory.getSchema
> > > > W/dalvikvm(10388): VFY: unable to resolve virtual method 12342:
> Ljavax/
> > > > xml/parsers/SAXParserFactory;.getSchema ()Ljavax/xml/validation/
> > > > Schema;
> > > > D/dalvikvm(10388): VFY: replacing opcode 0x6e at 0x0002
> > > > D/dalvikvm(10388): Making a copy of
> Lcom/google/gdata/util/common/xml/
> > > > parsing/SecureGenericXMLFactory$SecureSAXParserFactory;.getSchema
> code
> > > > (32 bytes)
> > > > W/dalvikvm(10388): VFY: unable to find class referenced in signature
> > > > (Ljavax/xml/validation/Schema;)
> > > > I/dalvikvm(10388): Could not find method
> > > > javax.xml.parsers.SAXParserFactory.setSchema, referenced from method
> > > > com.google.gdata.util.common.xml.parsing.SecureGenericXMLFactory
> > > > $SecureSAXParserFactory.setSchema
> > > > W/dalvikvm(10388): VFY: unable to resolve virtual method 12350:
> Ljavax/
> > > > xml/parsers/SAXParserFactory;.setSchema (Ljavax/xml/validation/
> > > > Schema;)V
> > > > D/dalvikvm(10388): VFY: replacing opcode 0x6e at 0x0002
> > > > D/dalvikvm(10388): Making a copy of
> Lcom/google/gdata/util/common/xml/
> > > > parsing/SecureGenericXMLFactory$SecureSAXParserFactory;.setSchema
> code
> > > > (28 bytes)
> > > > W/XmlParser(10388): javax.xml.parsers.ParserConfigurationException:
> > > > org.xml.sax.SAXNotRecognizedException:
> http://xml.org/sax/features/external-parameter-entities
> > > > W/XmlParser(10388): javax.xml.parsers.ParserConfigurationException:
> > > > org.xml.sax.SAXNotRecognizedException:
> http://xml.org/sax/features/external-parameter-entities
> > > > W/XmlParser(10388):     at
> > > >
> org.apache.harmony.xml.parsers.SAXParserFactoryImpl.newSAXParser(SAXParserF
> actoryImpl.java:
> > > > 84)
> > > > W/XmlParser(10388):     at
> > > > com.google.gdata.util.XmlParser.parse(XmlParser.java:682)
> > > > W/XmlParser(10388):     at
> > > > com.google.gdata.util.XmlParser.parse(XmlParser.java:576)
> > > > W/XmlParser(10388):     at
> > > > com.google.gdata.data.BaseFeed.parseAtom(BaseFeed.java:867)
> > > > W/XmlParser(10388):     at
> > > >
> com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java
> :
> > > > 68)
> > > > W/XmlParser(10388):     at
> > > >
> com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java
> :
> > > > 39)
> > > > W/XmlParser(10388):     at
> > > >
> com.google.gdata.wireformats.input.CharacterParser.parse(CharacterParser.ja
> va:
> > > > 100)
> > > > W/XmlParser(10388):     at
> > > >
> com.google.gdata.wireformats.input.XmlInputParser.parse(XmlInputParser.java
> :
> > > > 52)
> > > > W/XmlParser(10388):     at
> > > >
> com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java
> :
> > > > 66)
> > > > W/XmlParser(10388):     at
> > > >
> com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java
> :
> > > > 34)
> > > > W/XmlParser(10388):     at
> > > > com.google.gdata.client.Service.parseResponseData(Service.java:2165)
> > > > W/XmlParser(10388):     at
> > > > com.google.gdata.client.Service.parseResponseData(Service.java:2098)
> > > > W/XmlParser(10388):     at
> > > > com.google.gdata.client.Service.getFeed(Service.java:1136)
> > > > W/XmlParser(10388):     at
> > > > com.google.gdata.client.Service.getFeed(Service.java:998)
> > > > W/XmlParser(10388):     at
> > > > com.google.gdata.client.GoogleService.getFeed(GoogleService.java:631)
> > > > W/XmlParser(10388):     at
> > > > com.google.gdata.client.Service.getFeed(Service.java:1017)
> > > > W/XmlParser(10388):     at
> > > > gh.com.achie.test.Health.getProfilesForUI(Health.java:60)
> > > > W/XmlParser(10388):     at
> gh.com.achie.test.Main.onClick(Main.java:33)
> > > > W/XmlParser(10388):     at
> android.view.View.performClick(View.java:2364)
> > > > W/XmlParser(10388):     at
> android.view.View.onTouchEvent(View.java:4179)
> > > > W/XmlParser(10388):     at
> > > > android.widget.TextView.onTouchEvent(TextView.java:6541)
> > > > W/XmlParser(10388):     at
> android.view.View.dispatchTouchEvent(View.java:
> > > > 3709)
> > > > W/XmlParser(10388):     at
> > > > android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
> > > > W/XmlParser(10388):     at
> > > > android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
> > > > W/XmlParser(10388):     at
> > > > android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
> > > > W/XmlParser(10388):     at
> > > > android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
> > > > W/XmlParser(10388):     at
> com.android.internal.policy.impl.PhoneWindow
> > > > $DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
> > > > W/XmlParser(10388):     at
> > > >
> com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneW
> indow.java:
> > > > 1107)
> > > > W/XmlParser(10388):     at
> > > > android.app.Activity.dispatchTouchEvent(Activity.java:2061)
> > > > W/XmlParser(10388):     at
> com.android.internal.policy.impl.PhoneWindow
> > > > $DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
> > > > W/XmlParser(10388):     at
> > > > android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
> > > > W/XmlParser(10388):     at
> > > > android.os.Handler.dispatchMessage(Handler.java:99)
> > > > W/XmlParser(10388):     at android.os.Looper.loop(Looper.java:123)
> > > > W/XmlParser(10388):     at
> > > > android.app.ActivityThread.main(ActivityThread.java:4363)
> > > > W/XmlParser(10388):     at
> java.lang.reflect.Method.invokeNative(Native
> > > > Method)
> > > > W/XmlParser(10388):     at
> java.lang.reflect.Method.invoke(Method.java:
> > > > 521)
> > > > W/XmlParser(10388):     at com.android.internal.os.ZygoteInit
> > > > $MethodAndArgsCaller.run(ZygoteInit.java:860)
> > > > W/XmlParser(10388):     at
> > > > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
> > > > W/XmlParser(10388):     at dalvik.system.NativeStart.main(Native
> Method)
> > > > W/System.err(10388): com.google.gdata.util.ParseException:
> > > > org.xml.sax.SAXNotRecognizedException:
> http://xml.org/sax/features/external-parameter-entities
> > > > W/System.err(10388):    at
> > > > com.google.gdata.util.XmlParser.parse(XmlParser.java:708)
> > > > W/System.err(10388):    at
> > > > com.google.gdata.util.XmlParser.parse(XmlParser.java:576)
> > > > W/System.err(10388):    at
> > > > com.google.gdata.data.BaseFeed.parseAtom(BaseFeed.java:867)
> > > > W/System.err(10388):    at
> > > >
> com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java
> :
> > > > 68)
> > > > W/System.err(10388):    at
> > > >
> com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java
> :
> > > > 39)
> > > > W/System.err(10388):    at
> > > >
> com.google.gdata.wireformats.input.CharacterParser.parse(CharacterParser.ja
> va:
> > > > 100)
> > > > W/System.err(10388):    at
> > > >
> com.google.gdata.wireformats.input.XmlInputParser.parse(XmlInputParser.java
> :
> > > > 52)
> > > > W/System.err(10388):    at
> > > >
> com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java
> :
> > > > 66)
> > > > W/System.err(10388):    at
> > > >
> com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java
> :
> > > > 34)
> > > > W/System.err(10388):    at
> > > > com.google.gdata.client.Service.parseResponseData(Service.java:2165)
> > > > W/System.err(10388):    at
> > > > com.google.gdata.client.Service.parseResponseData(Service.java:2098)
> > > > W/System.err(10388):    at
> > > > com.google.gdata.client.Service.getFeed(Service.java:1136)
> > > > W/System.err(10388):    at
> > > > com.google.gdata.client.Service.getFeed(Service.java:998)
> > > > W/System.err(10388):    at
> > > > com.google.gdata.client.GoogleService.getFeed(GoogleService.java:631)
> > > > W/System.err(10388):    at
> > > > com.google.gdata.client.Service.getFeed(Service.java:1017)
> > > > W/System.err(10388):    at
> >
> > > ...
> >
> > > read more ยป
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Health Developers" group.
> To post to this group, send email to
> [email protected].
> To unsubscribe from this group, send email to
> [email protected]<googlehealthdevelopers%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/googlehealthdevelopers?hl=en.
>
>


-- 
Bess Ho
UI Architect / Developer / Designer
iPhone Developer
Silicon Valley Web Builder (SVWB) Founder

The information transmitted is intended only for the person or entity to
which it is addressed and may contain CONFIDENTIAL material. If you receive
this material/information in error, please contact the sender and delete or
destroy the material/information.

-- 
You received this message because you are subscribed to the Google Groups 
"Google Health Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/googlehealthdevelopers?hl=en.

Reply via email to