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]. For more options, visit this group at http://groups.google.com/group/googlehealthdevelopers?hl=en.
