Android :: SAXParser With POST To URL
Jan 22, 2009
I have an API. I'm using that requires me to POST instead of use GET to submit my credentials before receiving back my XML response. I've parsed a bunch of various XML services like this, but this is the first time I've run across having to post to the URL. Basically they want a username and password parameter submitted as a post to the URL before the XML is fed back. Does anyone have a working example, or maybe able to point me in the right direction?
View 3 Replies
Aug 27, 2010
I'm using SAXParser to parse large xml document from the net. And sometimes I need to pause SAXParser. I know how to stop parser by using SAXException, but how I can paused it? May be can I stop parser and then set up it to pass already parsed tags?
View 2 Replies
View Related
Aug 14, 2010
I am using a saxparser to read RSS XML from the web and populate listviews. Everything works fine until I come across malformed XML, usually encoding related, and my reader falls over. I have changed it so that it gets as many items parsed and populated before falling over (by default if it finds a malformed XML, then it will give up and return an empty collection). The problem is, the next time I try and view that feed (or any other feed), it still has the contents after the malformed bit hanging around.
For example, the first time it now shows all the items upto the malformed item, if I refresh, it will only show items after, refresh again, it will show items upto and so forth. The weird thing is, I create a new instances of everything every time. So I don't understand why stuff is handing around. It's like there is some read pointer, or connection that needs to be closed and reset, but I can't for the life of me work out what or where!
My GetFeed method:
private RSSFeed getFeed(String urlToRssFeed) {
SAXParserFactory factory;
SAXParser parser; XMLReader xmlreader;
URL url; InputSource is;
try { url = new URL(urlToRssFeed);
factory = SAXParserFactory.newInstance();
factory.setValidating(false);
parser = factory.newSAXParser();
xmlreader = parser.getXMLReader();
xmlreader.setContentHandler(m_FeedHandler);
is = new InputSource(url.openStream());
xmlreader.parse(is); m_ErrorCode = NOERROR;
} catch (SAXParseException e) { e.printStackTrace();
m_ErrorCode = XMLFORMAT;
} catch (Exception e) { e.printStackTrace();
m_ErrorCode = CONNECTION;
} finally { is = null;
url = null; parser = null; factory = null;
return m_FeedHandler.getFeed();
//May be complete, partial or empty.
} }
View 2 Replies
View Related
Feb 28, 2009
I'm using the SAX parser to read some RSS feeds and have found a problem. Some feeds, for example CNN Money Top Stories, have embedded some characters in their content, i.e. the copyright symbol. Well, that's not valid XML and the SAX Parser fails with an exception "invalid token". The only help I have seen given is to fix the XML at the source and that's not an option obviously. So, I can think of 2 options and they both stink:
(a) read the content first, scrub it, and then pass it to the parser.
(b) Use DOM instead of SAX.
What I *want* to do is make the parser a little more forgiving and just accept or discard/ignore the bad text. I'm not have any luck with setErrorHandler. My error handler does not get called.
View 7 Replies
View Related
Jul 22, 2010
I have been trying to use the youtube APIs on the Android Platform (version 1.6) and have been stuck with the SAXParser whenever I send out a query from the following line of code:
VideoFeed videoFeed = service.query(query, VideoFeed.class);
I initially had errors with the SAXParser for which I applied the patch suggested here:
https://code.google.com/p/android/issues/detail?id=9493
After this, the previous error that I had which called an ExternalParametersEntities exception was resolved but I now get a Verify Error:
com.google.gdata.util.common.xml.parsing.SecureGenericXMLFactory $SecureSAXParserFactory
Would anyone know how to get around this error? Is there any other way to use the youtube API query on an Android platform?
View 3 Replies
View Related
Jan 26, 2009
I'm using a SAXParser to parse an XML document and its getting stuck on certain symbols like the 'trademark' symbol and I think even double- quotes". I really don't need these characters so it would be fine if the parser just skips over these. Instead it throws an exception and quits parsing the document. What can I do?
View 7 Replies
View Related
Jun 21, 2010
I'm trying to parse a web service response using SAXParser and get certain values, store them into an arraylist, then display them in a listview. Example XML being returned from web service:
<ArrayOfStrings>
<string>value</string>
<string>value</string>
<string>value</string>
</ArrayOfStrings>
Here is my SAXHandler class:
public class SAXHandler extends DefaultHandler {
private boolean outertag = false;
private boolean mytag = false;
ArrayList<String> alist;
public ArrayList<String> getList(){
return this.alist;
} @Override
public void startDocument() throws SAXException {
} @Override
public void endDocument() throws SAXException{
} //@Override
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
if (localName.equals("ArrayOfString")){ this.outertag=true;
}else if (localName.equals("string")){ this.mytag=true;
} }
@Override
public void characters(char ch[], int start, int length) {
if (this.mytag){ String s = new String(ch, start, length);
alist.add(s);
} }
@Override public void endElement(String namespaceURI, String localName, String qName) throws SAXException {
if (localName.equals("ArrayOfString")){ this.outertag=false;
}else if (localName.equals("string")){ this.mytag=false;
} } }
And here's my method calling and returing my web service:
try{ URL url = new URL("xxxxxxx");
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
SAXHandler SAXHandler = new SAXHandler();
xr.setContentHandler(SAXHandler);
xr.parse(new InputSource(url.openStream()));
ArrayList<String> stateList = SAXHandler.getList();
aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, stateList);
RESTlist.setAdapter(aa);
I keep getting an exception and I don't know why. Can anyone give me a hand?
Logcat:
06-21 20:10:47.901: ERROR/AndroidRuntime(472): Uncaught handler: thread main exiting due to uncaught exception
06-21 20:10:47.950: ERROR/AndroidRuntime(472): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pa.passammain/com.pa.passammain.RESTtest}: java.lang.NullPointerException: println needs a message
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.ActivityThread.access$2100(ActivityThread.java:116)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.os.Handler.dispatchMessage(Handler.java:99)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.os.Looper.loop(Looper.java:123)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.ActivityThread.main(ActivityThread.java:4203)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at java.lang.reflect.Method.invokeNative(Native Method)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at java.lang.reflect.Method.invoke(Method.java:521)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at dalvik.system.NativeStart.main(Native Method)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): Caused by: java.lang.NullPointerException: println needs a message
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.util.Log.println(Native Method)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.util.Log.e(Log.java:208)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at com.pa.passammain.RESTtest.onCreate(RESTtest.java:82)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): ... 11 more
After editing how my error is displayed in my try/catch i'm not longer getting an exception, but just a blank screen. Here is what my logcat is displaying:
06-21 20:22:00.330: WARN/System.err(542): java.lang.NullPointerException
06-21 20:22:00.352: WARN/System.err(542): at com.pa.passammain.SAXHandler.characters(SAXHandler.java:45)
06-21 20:22:00.352: WARN/System.err(542): at org.apache.harmony.xml.ExpatParser.text(ExpatParser.java:166)
06-21 20:22:00.362: WARN/System.err(542): at org.apache.harmony.xml.ExpatParser.append(Native Method)
06-21 20:22:00.371: WARN/System.err(542): at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:506)
06-21 20:22:00.371: WARN/System.err(542): at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:467)
06-21 20:22:00.371: WARN/System.err(542): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:329)
06-21 20:22:00.381: WARN/System.err(542): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:286)
06-21 20:22:00.381: WARN/System.err(542): at com.pa.passammain.RESTtest.onCreate(RESTtest.java:71)
06-21 20:22:00.391: WARN/System.err(542): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
06-21 20:22:00.391: WARN/System.err(542): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
06-21 20:22:00.401: WARN/System.err(542): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
06-21 20:22:00.401: WARN/System.err(542): at android.app.ActivityThread.access$2100(ActivityThread.java:116)
06-21 20:22:00.410: WARN/System.err(542): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
06-21 20:22:00.410: WARN/System.err(542): at android.os.Handler.dispatchMessage(Handler.java:99)
06-21 20:22:00.420: WARN/System.err(542): at android.os.Looper.loop(Looper.java:123)
06-21 20:22:00.420: WARN/System.err(542): at android.app.ActivityThread.main(ActivityThread.java:4203)
06-21 20:22:00.420: WARN/System.err(542): at java.lang.reflect.Method.invokeNative(Native Method)
06-21 20:22:00.430: WARN/System.err(542): at java.lang.reflect.Method.invoke(Method.java:521)
06-21 20:22:00.430: WARN/System.err(542): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
06-21 20:22:00.442: WARN/System.err(542): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
06-21 20:22:00.442: WARN/System.err(542): at dalvik.system.NativeStart.main(Native Method)
View 1 Replies
View Related
Jan 1, 2010
I am using SAXParser to parse an html page (any better solution?) and have this exception:
W/System.err( 1358): org.apache.harmony.xml.ExpatParser $ParseException: At line 1, column 59: not well-formed (invalid token)
I have reduced the page to this:
<div id="submenu"><a href="/compte/console.pl? id=382730&idt=1cf6b94aa1a4cf84"></a></div>
And what causes the exception is the '&' inside the href attribute value.
Here is a minimalist test code:
DefaultHandler emptySaxHandler = new DefaultHandler() {};
String xmlstr = "<div id="submenu"><a href="/compte/console.pl?id=382730&idt=1cf6b94aa1a4cf84"></a></div>";
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
saxParser.parse(new ByteArrayInputStream(xmlstr.getBytes ()),emptySaxHandler);
Is this a normal behaviour or kind of bug? If normal, what should do to preprocess the string before parsing?
View 3 Replies
View Related
Oct 30, 2010
Post your PingChat ID here lets enjoy together.My ID : talktoanil
View 3 Replies
View Related
Mar 30, 2010
Im using the SAXParser object do parse the actual XML.
This is normally done by passing a URL to the XMLReader.Parse method. Because my XML is coming from a POST request to a webservice, I am saving that result as a String and then employing StringReader / InputSource to feed this string back to the XMLReader.Parse method.
However, something strange is happening at the 2001st character of the XMLstring. The 'characters' method of the document handler is being called TWICE in between the startElement and endElement methods, effectively breaking my string (in this case a project title) into two pieces. Because I am instantiating objects in my characters method, I am getting two objects instead of one.
This line, about 2000 chars into the string fires 'characters' two times, breaking between "Lower" and "Level"
<title>SUMC-BOOKSTORE, LOWER LEVEL RENOVATIONS</title>
When I bypass the StringReader / InputSource workaround and feed a flat XML file to XMLReader.Parse, it works absolutely fine.
Something about StringReader and or InputSource is somehow screwing this up.
Here is my method that takes and XML string and parses is through the SAXParser.
CODE:.............
How to not have 'characters' firing off twice when I get to this point in the XML String.
Or, show me how to use a POST request and still pass off the URL to the Parse function.
View 3 Replies
View Related
Feb 8, 2010
I am parsing xml using the SAXParser and want to know if this is the right way to implement the characters method. Assume there's a class-level String variable named elementValue and it is initialized to "" in the startElement method.
Here is the characters method:
@Override
public void characters(char[] ch, int start, int length) {
String charsToAppend = new String(ch, start, length);
elementValue = elementValue + charsToAppend;
}
Is it correct that we need to append to the value we have so far and is the append being done correctly? Also, why does the characters method give the start index? Won't it be zero every time?
View 2 Replies
View Related
Sep 23, 2010
I am using SAXParser to parse an XML document having three different tags. But in the result I get the value of only "one tag and not Other two tags. Can someone explain?
My XML is :
<outertag>
<innertag>hello</innertag>
<othertag>good morning</othertag>
<thirdtag Attribute="its a pleasant day"/>
</outertag>
View 1 Replies
View Related
Oct 12, 2010
I need to pass some values to a URL by Post Method in my apllication. Please Help
View 2 Replies
View Related
Sep 16, 2010
I have had this problem a couple times where I post something and I can never find it again. One time I lucked out because my post was still open on my other computers browser.
View 7 Replies
View Related
Jan 7, 2010
I'm trying to do something I thought would be relatively simple: Upload an image to a server with the Android SDK. I'm found a lot of example code:
http://groups.google.com/group/android-developers/browse_thread/thread/f9e17bbaf50c5fc/46145fcacd450e48
[url]
But neither work for me. The confusion I keep running into is what is really needed to make a multipart request. What is the simplest way to have a multipart upload (with an image) for Android?
View 1 Replies
View Related
Sep 2, 2009
I'm developing an application related to daily horoscopes. I have to add a functionality that allows user to post his/her horoscope on his/ her facebook profile. as far as i know we have to get some permissions from the user to post things to their profiles. but i don't know how to do that from android.
View 4 Replies
View Related
Jul 17, 2009
Maps useda allow directions from My Location. Where'd that go?
View 5 Replies
View Related
Sep 17, 2010
I've got a question related to the Android MediaPlayer. Can it stream content through HTTP POST method , or do I have to write my own implementation? If so, what SDK do I have to use?
View 1 Replies
View Related
Feb 12, 2010
I have a pretty basic helper class that I'm using to do all my Http Get/Post stuff. I'm using HttpGet, HttpPost, and HttpClient from the org.apache.http library. All of my stuff works fine over HTTP, but as soon as I tried to consume a service that works over HTTPS, I get a ClientProtocolException when executing the request. The only message in the exception is "The server failed to respond with a valid HTTP response".
To test, I sent the exact same payload from a browser using a simple html form and Fiddler2 using the RequestBuilder. I've sent invalid and empty payloads and even sent all of the above with and without headers to see if there was something funky about the way the objects were building the request.
Everything I've used in testing gives me a valid 200 status HTTP response. The service just gives me a structure describing the error if I give it something other than what it expects.
Is there something special I need to add to the HttpPost or HttpClient object(s) to tell it to use HTTPS? Do I have to explicitly tell it to use a different port?
I indeed registered the wrong socket factory for https communication. Here is the updated method that I use to create my HttpClient object with the correct socket factory just in case someone searches this kind of problem in the future:
CODE:............................
View 3 Replies
View Related
Jun 13, 2010
I've been banging my head trying to figure out how to send a post method in Android.
This is how my code look like:
CODE:..................
This is the exception that I get:
CODE:............
Is there anything that I may need to configure from the Android emulator to get this working?
View 2 Replies
View Related
Jul 6, 2010
I want to send data to server from client(Android)
Below is my format.
CODE:......................
I'm trying series of trial but no use, how this can be done?
View 1 Replies
View Related
Jul 20, 2010
I am trying to upload file to php server using following tutorial http://getablogger.blogspot.com/2008/01/android-how-to-post-file-to-php-server.html
I dont know how to add parameters like: userid="12312";sessionid="234" in it.
How to achieve this?
View 1 Replies
View Related
Sep 6, 2010
I'm getting a problem making an HTTP POST in Android.
The problem occur when the code is reading the response, it cant obtain the complete web page code I want to retrieve.
I only retrieve a piece of the web.
Here is the code:
CODE:..............
View 2 Replies
View Related
Nov 16, 2010
I am having a hugely annoying issue with delays using HTTPClient and post the first time I call execute on the client the response takes 5 seconds to come back. Subsequent calls take around 100 to 200 ms. I am using the Apache client so does anyone know why this takes so long? The client setup looks like below
CODE:.........
The timing for this look like below.
CODE:......................
View 8 Replies
View Related
Nov 19, 2010
Who is easiest(less code) way to post status on twitter?
View 1 Replies
View Related
Sep 8, 2010
I've been working on an app that uses both GET and POST requests to Web Services. The GET requests are no problems but the POST requests are killing me. I've tried 2 different scenarios in the code. The first looks like this...
CODE:......
This code gets this result for me..."Bad Request (Invalid Header Name)"
Now here's my second piece of code...
CODE:.....
This gives me an entirely different result. It's a long garbled mess of xml and SOAP that does have a SOAP Exception mentioned in it..."Server was unable to process request. --- System.Xml.XmlException: Data at the root level is invalid. Line 1, position 1." Now, can anyone shed any light on what I am doing wrong.
View 1 Replies
View Related
Oct 18, 2010
In my application twitter button is there.just i click on the twitter button open the text box and enter the message after click on the post button .....it will post to the twitter.
but in my app i connect twitter. it will go through the browser.it's not correct.
View 2 Replies
View Related
Jun 12, 2010
Is there any code snippet for getting and posting JSON object to a http server in Android? I want to call the API in my website and get the JSON response to be displayed in the Android apps.
View 2 Replies
View Related
Jan 11, 2010
Starting a thread where users can see other peoples themes to help them out with sweeterhome preview 2 post pictures.
View 49 Replies
View Related
Mar 3, 2009
I posted in my blog about a better way to post to a Blogger account from the G1, but I think enough people have been looking around that I should just share ASAP. Here is the post from my blog: I found a quick and dirty way to post to my Blogger account using my T-Mobile G1 phone. I wasn't able to get the default Android browser to post to my blog well, the formatting for my phone didn't show the site well and I still haven't found a Blogger app in the Android Market. I remembered that Google Gears was a part of the default browser while checking out Wordpress as a possible alternative (Wordpress has a Google Gears plug-in). I ran a search for Blogger Gears and found an example site that Google wrote when they first released Gears that works for posting to Blogger a lot better than using the direct site, except photo uploads don't seem to be supported. Here is how to get it working...
View 6 Replies
View Related