Search Results

Search found 50839 results on 2034 pages for 'http 404'.

Page 621/2034 | < Previous Page | 617 618 619 620 621 622 623 624 625 626 627 628  | Next Page >

  • Experiences with "language converters"?

    - by Friedrich
    I have read a few articles mentioning converters from one language to another. I'm a bit more than skeptical about the use of such kind of tools. Does anyone know or have experiences let's say about Visual Basic to Java or vs converters? Just one example to pick http://www.tvobjects.com/products/products.html, claims to be the "world leader" or so in that aspect, However if read this: http://dev.mysql.com/tech-resources/articles/active-grid.html There the author states: "The consensus of MySQL users is that automated conversion tools for MS Access do not work. For example, tools that translate existing Access applications to Java often result in 80% complete solutions where finishing the last 20% of the work takes longer than starting from scratch." Well we know we need 80% of the time to implement the first 80% functionality and another 80% of the time for the other 20 %.... So has anyone tried such tools and found them to be worthwhile?

    Read the article

  • jQuery UI - Draggable is not a function?

    - by Dan
    Hi, I've trying to use the draggable effect on some divs on a page, but whenever I load the page, I get the error message: Error: $(".draggable").draggable is not a function I've had a look around it seemed other people were having this problem as they had not included the jQuery UI javascript file, but I definitely have. The following is within the head tag of my page: <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js"></script> Can anyone suggest a solution? Any advice appreciated. Thanks.

    Read the article

  • Using vertical-align on an element with background-image

    - by bobo
    <style type='text/css'> #span1{ background-image:url("http://www.reoiv.com/images/rss.jpg"); background-repeat:no-repeat; cursor:pointer; display:block; float:left; height:15px; width:15px; vertical-align:text-bottom; } </style> <span id='span1'></span>???? What I would like to do is to achieve the vertical align: text-bottom effect but I am not doing it on a image element. I am doing it on an element with background-image set. If you paste the above codes here: http://htmledit.squarefree.com/ You will see that the text failed to vertically align to bottom. I would like to know how it can be done without adding extra html element if possible. Many thanks to you all.

    Read the article

  • What happens when Npgsql connection pool reaches Max

    - by ClearCarbon
    Both the name of the connection string parameter and this blog post - http://fxjr.blogspot.co.uk/2010/04/npgsql-connection-pool-explained.html - lead me to believe that Npgsql wont exceed the MaxPoolSize value set in the connection string. However the docs (http://npgsql.projects.postgresql.org/docs/manual/UserManual.html) say "Max size of connection pool. Pooled connections will be disposed of when returned to the pool if the pool contains more than this number of connections. Default: 20" This suggests that the pool can actually grow larger than MaxPoolSize and it is in fact just a level at which Npgsql starts to aggressively remove connections from the pool as soon as they are returned. I've been searching to try and find an answer but I can find out exactly what happens when you reach MaxPoolSize. Anyone else know? edit: I should add we are using Npgsql 2.0.6.0 due to another dependency being supported only up to that version.

    Read the article

  • How do we read the data from a public google spreadsheet using Zend_Gdata

    - by bobo
    I have read the examples here: http://framework.zend.com/manual/en/zend.gdata.spreadsheets.html But those examples assume the spreadsheet to be read needs authentication: $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME; $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service); $spreadsheetService = new Zend_Gdata_Spreadsheets($client); $feed = $spreadsheetService->getSpreadsheetFeed(); The spreadsheet I am going to read from is a public one, so I don't really need to provide any authentication right? And what I need to provide is just the url of the spreadsheet. I tried to read the class description here but still have no idea how it can be done: http://framework.zend.com/apidoc/core/Zend_Gdata/Spreadsheets/Zend_Gdata_Spreadsheets.html

    Read the article

  • Actionscript 2.0, load images into array

    - by incrediman
    I need to load an external image into an array. Let's say the image is http://sstatic.net/so/img/logo.png I'm using AS2 - I do not have the option of using AS3. Any idea what to do? I'm able to load the image just fine into a movieclip in _root (below), but not into an array. var loader:MovieClipLoader = new MovieClipLoader(); loader.loadClip("http://sstatic.net/so/img/logo.png",_root.mcOnTheStage); Like is there some way to make an array ov MC's that I can load the images into?

    Read the article

  • problem running system.net.webclient and process.start off a control event

    - by Rob
    The following code causes my vs 2008 wpf project to hang, I'm not sure why. Both Part 1 and Part 2 work perfectly fine independently, but when I run them together on an control event (click a button for example) the program hangs. I've also tried shell execute for part 2 - same results. However, this code when run within the form loaded event works fine. Any insights would be truly appreciated. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click 'Part 1 Dim myWebClient As System.Net.WebClient = New System.Net.WebClient Dim CurrentDataFileContents As String = myWebClient.DownloadString("http://www.xyz.com") myWebClient.Dispose() 'Part 2 System.Diagnostics.Process.Start("http://www.test.com") End Sub

    Read the article

  • Is .net 4.0 really not capable of sending emails with attachments larger than 3MB's

    - by JL
    I recently had an issue after upgrading my .net framework to 4.0 from 3.5, I did this because in 4.0 the SMTPClient finally sends a QUIT command to the SMTP server. However recently I was most disturbed to run into a base64 decoding issue, when sending out emails with attachments larger than 3MB's using .net v4 smtpclient: System.Net.Mail.SmtpException: Failure sending mail. --- System.IndexOutOfRangeException: Index was outside the bounds of the array. at System.Net.Base64Stream.EncodeBytes(Byte[] buffer, Int32 offset, Int32 count, Boolean dontDeferFinalBytes, Boolean shouldAppendSpaceToCRLF) at System.Net.Base64Stream.Write(Byte[] buffer, Int32 offset, Int32 count) at System.Net.Mime.MimePart.Send(BaseWriter writer) at System.Net.Mime.MimeMultiPart.Send(BaseWriter writer) at System.Net.Mail.Message.Send(BaseWriter writer, Boolean sendEnvelope) at System.Net.Mail.SmtpClient.Send(MailMessage message) --- End of inner exception stack trace --- I read this connect bug listing here: http://connect.microsoft.com/VisualStudio/feedback/details/544562/cannot-send-e-mails-with-large-attachments-system-net-mail-smtpclient-system-net-mail-mailmessage and also this bug listing here: http://connect.microsoft.com/VisualStudio/feedback/details/102644/system-net-mail-fails-to-send-index-was-outside-the-bounds-of-the-array So my question is - is .net 4.0 RTM really not capable of such an easy task as sending a message with an attachment larger than 3MB's?

    Read the article

  • Basics for implementing SSL on PHP Website

    - by KoolKabin
    Hi guys, I am here as a developer of a website. My website got different modules among which one function is to process credit card. In order to process credit card I need to implement SSL layer and process the pages. For rest of modules the SSL is optional. Now my points are: 1.) Is the location of file for http and https same? 2.) Can the session of http and https be shared? this is required as i need user login information and cart item information.

    Read the article

  • Clone a div that contains "customized" jQueryUI datePicker

    - by Enrique
    I have a div that contains 3 fields You can see the image here http://imgur.com/A3tbd.jpg I'm cloning this div with this plugin http://sroucheray.org/blog/demos/jquery-dynamic-form/ My problems are: It doesn't clone correctly datePicker. I'm using validate form plugin, but I guess this plugin is not prepared to validate cloned elements Is there any easy code, other plugin or some functions I should use for doing this sequence? Verify user has filled the 3 fields of the actual div If so, clone the div and create a new set of 3 fields. Also, clone datePicker correctly If user clicks the delete button, erase last div (last 3 fields) When form submitted, post all fields correctly Thanks,

    Read the article

  • Objects not loading on second request in Restkit

    - by Holger Edward Wardlow Sindbæk
    I'm sending off 2 requests simultaneously with Restkit and I receive a response back from both of them, but only one of the requests receives any objects. If I send them off one by one, then my objectloader receives all objects. First request: self.firstObjectManager = [RKObjectManager sharedManager]; [self.firstObjectManager loadObjectsAtResourcePath:[NSString stringWithFormat: @"/%@.json", subUrl] usingBlock:^(RKObjectLoader *loader){ [loader.mappingProvider setObjectMapping:designArrayMapping forKeyPath:@""]; loader.userData = @"design"; loader.delegate = self; [loader sendAsynchronously]; }]; Second request: self.secondObjectManager = [RKObjectManager sharedManager]; [self.secondObjectManager loadObjectsAtResourcePath:[NSString stringWithFormat: @"/%@.json", subUrl] usingBlock:^(RKObjectLoader *loader){ [loader.mappingProvider setObjectMapping:designerMapping forKeyPath:@""]; loader.userData = @"designer"; loader.delegate = self; [loader sendAsynchronously]; }]; My objecloader: -(void)objectLoader:(RKObjectLoader *)objectLoader didLoadObjects:(NSArray *)objects { //NSLog(@"This happened: %@", objectLoader.userData); if (objectLoader.userData == @"design") { NSLog(@"Design happened: %i", objects.count); }else if(objectLoader.userData == @"designer"){ NSLog(@"designer: %@", [objects objectAtIndex:0]); } } My response: 2012-11-18 14:36:19.607 RestKitTest5[14220:c07] Started loading of request: designer 2012-11-18 14:36:22.575 RestKitTest5[14220:c07] I restkit.network:RKRequest.m:680:-[RKRequest updateInternalCacheDate] Updating cache date for request <RKObjectLoader: 0x95c3160> to 2012-11-18 19:36:22 +0000 2012-11-18 14:36:22.576 RestKitTest5[14220:c07] response code: 200 2012-11-18 14:36:22.584 RestKitTest5[14220:c07] Design happened: 0 2012-11-18 14:36:22.603 RestKitTest5[14220:c07] I restkit.network:RKRequest.m:680:-[RKRequest updateInternalCacheDate] Updating cache date for request <RKObjectLoader: 0xa589b50> to 2012-11-18 19:36:22 +0000 2012-11-18 14:36:22.605 RestKitTest5[14220:c07] response code: 200 2012-11-18 14:36:22.606 RestKitTest5[14220:c07] designer: <DesignerData: 0xa269fc0> Update: Setting my base url RKURL *baseURL = [RKURL URLWithBaseURLString:@"http://iphone.meer.li"]; [RKObjectManager setSharedManager:[RKObjectManager managerWithBaseURL:baseURL]]; Solution Problem was that I used the shared manager for both object managers, so I ended up doing: RKURL *baseURL = [RKURL URLWithBaseURLString:@"http://iphone.meer.li"]; RKObjectManager *myObjectManager = [[RKObjectManager alloc] initWithBaseURL:baseURL]; self.firstObjectManager = myObjectManager; and: RKURL *baseURL = [RKURL URLWithBaseURLString:@"http://iphone.meer.li"]; RKObjectManager *myObjectManager = [[RKObjectManager alloc] initWithBaseURL:baseURL]; self.secondObjectManager = myObjectManager;

    Read the article

  • Rails Custom Plugin/Gem with Partials

    - by Jason
    I am writing a gem which provides helpers for views. The HTML I want to insert via the helper is complex enough that I'd rather write it in a _partial.html.erb file. How do I get the gem's view path include in the application's load_path? Note: the only gem I've found that does something like this is Devise. When a view cannot be found, Rails prints the load path which (on my machine) looks like: Missing partial sortable_nested_set/tree with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en, :en]} in view paths "/home/jason/VirtualRestaurant3/app/views", "/home/jason/.rvm/gems/ruby-1.9.2-preview3/gems/devise-1.1.rc0/app/views" How does Devise do it? My gem: http://github.com/jrmurad/SortableNestedSet Devise gem: +http://+github.com/plataformatec/devise

    Read the article

  • Howto allow "Illegal characters in path" ?

    - by hbruce
    I have a MVC.NET application with one route as follows: routes.MapRoute("member", "member/{id}/{*name}", new { controller = "member", action = "Details", id = "" }, new { id = @"\d+" }); Thus, a link could be something like this: http://domain/member/123/any_kind_of_username This works fine in general but if the path contains illegal characters (e.g. a double qoute: http://domain/member/123/my_"user"_name) I get a "System.ArgumentException: Illegal characters in path." After much googling the best suggestions seems to be to make sure that the url doesn't contain any such characters. Unfortunately, that is out of my control in this case. Is there a way to work around this?

    Read the article

  • Simple image server

    - by Joel
    I have a bunch of images that I need others to browse via a web browser in pretty much the same way as Apache-Gallery. I'd be able to dump all my images in a directory so that users hitting: http://server:port/directory would see small thumbnails and selecting an image would load it full size on a page with options to browse the previous or next image. I'm looking for a non Apache solution, much like the wonderfull Python simple http server, that can be launched anywhere with minimal configuration & fuss e.g. python -m SimpleHTTPServer 8000 In fact, the python solution above is pretty much want I want except it doesn't thumbnail the images but just a simple directory listing. Happy to use an app written in any common language so long as it is self contained and can run on linux on a custom port (and to re-iterate, not an Apache module).

    Read the article

  • How can I read this url in Rebol ?

    - by Rebol Tutorial
    when trying to read this kind of url URL: http://v4.lscache2.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id,expire,ip,ipbits,itag,algorithm,burst,factor,oc:U0dWSlhTVF9FSkNNNl9QTVhJ&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1275886800&key=yt1&signature=89195E808CB3FBBC7BDE7298A1DC0613D7987F00.D3064112E8F479C523F8DF4FBFDF392CE48167C2&factor=1.25&id=34e01ad39b34b5c9& I get this error read/binary url connecting to: v4.lscache2.c.youtube.com ** User Error: Error. Target url: http://v4.lscache2.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id,expire,ip,ipbits, itag,algorithm... ** Near: read/binary url

    Read the article

  • Beginner WPF/XML question: How to get an <element> in an <element>?

    - by Niels
    I have a rather simple question. I'm trying to get information out of an XML file, and now I need to get the that's inside another This is my XML code: <author> <name>Random_name1 (Random Name)</name> <uri>http://thisisanrandomurl.com</uri> </author> I can get the info with this code: Name = item.Element(ns + "author").Value, But this gives me: "Random_name1 (Random Name) http://thisisanrandomurl.com" I only want the info inside the tags. Any ideas? Thanks a lot, - Niels

    Read the article

  • Compiling my own PHP extension on Windows with Visual Studio 2008

    - by Mickey Shine
    I wrote a PHP extension and it could be compiled and run under linux successfully. But on windows, I met some problems. I did the compiling on windows according to http://blog.slickedit.com/?p=128 with PHP source version 5.2.10, and after the compiling it generated the dll file. But when I tried to use the dll file, it reported me the memory problems when starting Apache(Wamp server). And then I started the debugging process, it seemed that REGISTER_INI_ENTRIES() had problems. Here is the PHP extension source code, http://www.bluefly.cn/xsplit.tar.gz , and it works fine on Linux. But I also want to make it work on Windows. Sorry I am not a pro so that I hope someone can help me. Any help is appreciated and thanks in advance~

    Read the article

  • ASP.NET 2.0 files work in one folder, but NOT in another

    - by Steve
    I am about to leap of a building. I have created an app for a client and all the files are in a folder on their D drive. Now it is time to go production, so I copied all my files and folders to their excisting classic asp folder on the same drive. BUT NOTHING WORKS. The only difference I can see is that DEV does not require HTTPS like the production site. I also made sure all the permissions are the same on both folder. I made sure that the GAC has read rights using the aspnet_regiis tool. I am at the end of my debug knowlegde, could someone please help me out. Here are the error messages I get from the application event log. Failed to initialize the AppDomain:/LM/W3SVC/3/Root Exception: System.Configuration.ConfigurationErrorsException Message: Exception of type 'System.Configuration.ConfigurationErrorsException' was thrown. StackTrace: at System.Web.Configuration.ErrorRuntimeConfig.ErrorConfigRecord.System.Configuration.Internal.IInternalConfigRecord.GetLkgSection(String configKey) at System.Web.Configuration.RuntimeConfigLKG.GetSectionObject(String sectionName) at System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index) at System.Web.Configuration.RuntimeConfig.get_HostingEnvironment() at System.Web.Hosting.HostingEnvironment.StartMonitoringForIdleTimeout() at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters) at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters) at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters) at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters) For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp. ------------------------ Failed to execute the request because the ASP.NET process identity does not have read permissions to the global assembly cache. Error: 0x80131902 For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp. ------------------------- aspnet_wp.exe (PID: 4568) stopped unexpectedly. For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp. Here is the web error message: Server Application Unavailable The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request. Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur. Thank you for your help, Steve

    Read the article

  • Watin; Get element by id not working

    - by Afnan
    I am trying to place data into text area that is inside hiden input but watin dose not find it.why? but when i search for inputs my program shows this. var ie = new WatiN.Core.IE("http://facebook.com", true); ie.ClearCookies(); ie.TextField(WatiN.Core.Find.ById("email")).TypeText(textBoxUsername.Text); ie.TextField(WatiN.Core.Find.ById("pass")).TypeText(textBoxPassword.Text); ie.Button(WatiN.Core.Find.ByValue("Login")).Click(); ie.Link(WatiN.Core.Find.ByText("Status")).Click(); ie.TextField(WatiN.Core.Find.ById("u362110_11")).TypeText(textBoxPassword.Text); Exception Could not find INPUT (hidden) or INPUT (password) or INPUT (text) or INPUT (textarea) or TEXTAREA element tag matching criteria: Attribute 'id' equals 'u493403_13' at http://www.facebook.com/home.php

    Read the article

  • Verify windows log-in via smart card

    - by Ronen Rabinovitz
    Hi I need to verify in my WPF application if the user log in to his computer via password or via smart-card. Both login options are available in my company clients but my application need to open only in the smart-card login. All the clients are windows 7 OS. I look at some sites: http://technet.microsoft.com/en-us/library/ff404285(v=ws.10).aspx http://www.codeproject.com/Articles/240655/Using-a-Smart-Card-Certificate-with-NET-Security-i and I'm thinking I need to get the enhanced key usage (EKU) attribute field. If the EKU is empty = then the user was loged via password and not via smartcard. I only need this simple check, I do not care for creating/validations on certificates atc.

    Read the article

  • fb:request-form in iframe redirects away from facebook

    - by IkimashoZ
    I have an <fb:requestform> in an iFrame Facebook app. I have set target="_parent", so that the callback will target the parent iFrame and not itself, which seems to work as expected. But, instead of my desired file loading, I get redirected to my server. Checking the response of the requestform's POST in Firebug revealed this: <script type="text/javascript"> top.location.href = "http://www.facebook.com/login.php?api_key=***&v=1.0&req_perms=&next=http%3A%2F%2F***"; </script> I have already had this same problem when sending jQuery AJAX requests to update various elements in an iFrame. I solved the problem by making sure my headers contain P3P: CP="CAO PSA OUR". That is indeed set for this call as well (can be seen clearly in Firebug), but I still get redirected to facebook.com/login.php.

    Read the article

  • Find element with attribute with minidom

    - by Xster
    Given <field name="frame.time_delta_displayed" showname="Time delta from previous displayed frame: 0.000008000 seconds" size="0" pos="0" show="0.000008000"/> <field name="frame.time_relative" showname="Time since reference or first frame: 0.000008000 seconds" size="0" pos="0" show="0.000008000"/> <field name="frame.number" showname="Frame Number: 2" size="0" pos="0" show="2"/> <field name="frame.pkt_len" showname="Packet Length: 1506 bytes" hide="yes" size="0" pos="0" show="1506"/> <field name="frame.len" showname="Frame Length: 1506 bytes" size="0" pos="0" show="1506"/> <field name="frame.cap_len" showname="Capture Length: 1506 bytes" size="0" pos="0" show="1506"/> <field name="frame.marked" showname="Frame is marked: False" size="0" pos="0" show="0"/> <field name="frame.protocols" showname="Protocols in frame: eth:ip:tcp:http:data" size="0" pos="0" show="eth:ip:tcp:http:data"/> How do I get the field with name="frame.len" right away without iterating through every tag and checking the attributes?

    Read the article

  • login connection problem using SimpleTest

    - by Cedric
    Hi everyone. I am using SimpleBrowser from SimpleTest (http://www.simpletest.org) to login a webmin (http://www.webmin.com/). This login uses https. I've tried two different ways, both fail. $browser = new SimpleBrowser(); $browser->useCookies(); $browser->useFrames(); //echoes the login page, where it should echo the landing page from a logged user echo $browser->post('https://address/','user=User&pass=Secret')); And also : $browser = new SimpleBrowser(); $browser->useCookies(); $browser->useFrames(); $browser->get('https://address/'); $browser->setField('user', 'User'); $browser->setField('pass', 'Secret'); //echoes the login page, where it should echo the landing page from a logged user echo $browser->clickSubmit('Login'); Do you have any clue why it doesn't work ?

    Read the article

  • WCF, 4.0, Bidirectional...

    - by TomTom
    ...what options are there now with .NET 4.0, in a way that does support NAT for the client side (i.e. client behind NAT). I would prefer to use something HTTP based, but that is a weak condition - I think mid term I will have some non http communication outside WCF anyway, so proxy traversal is something I could delay. Pre .NET 4.0 there was the issue that basically the server-client channel would be opened from the server, which made NAT something non-traversable. Polling is not acceptable - we talk time sensitive information here. So, what are my options now?

    Read the article

  • Slowdowns when reading from an urlconnection's inputstream (even with byte[] and buffers)

    - by user342677
    Ok so after spending two days trying to figure out the problem, and reading about dizillion articles, i finally decided to man up and ask to for some advice(my first time here). Now to the issue at hand - I am writing a program which will parse api data from a game, namely battle logs. There will be A LOT of entries in the database(20+ million) and so the parsing speed for each battle log page matters quite a bit. The pages to be parsed look like this: http://api.erepublik.com/v1/feeds/battle_logs/10000/0. (see source code if using chrome, it doesnt display the page right). It has 1000 hit entries, followed by a little battle info(lastpage will have <1000 obviously). On average, a page contains 175000 characters, UTF-8 encoding, xml format(v 1.0). Program will run locally on a good PC, memory is virtually unlimited(so that creating byte[250000] is quite ok). The format never changes, which is quite convenient. Now, I started off as usual: //global vars,class declaration skipped public WebObject(String url_string, int connection_timeout, int read_timeout, boolean redirects_allowed, String user_agent) throws java.net.MalformedURLException, java.io.IOException { // Open a URL connection java.net.URL url = new java.net.URL(url_string); java.net.URLConnection uconn = url.openConnection(); if (!(uconn instanceof java.net.HttpURLConnection)) { throw new java.lang.IllegalArgumentException("URL protocol must be HTTP"); } conn = (java.net.HttpURLConnection) uconn; conn.setConnectTimeout(connection_timeout); conn.setReadTimeout(read_timeout); conn.setInstanceFollowRedirects(redirects_allowed); conn.setRequestProperty("User-agent", user_agent); } public void executeConnection() throws IOException { try { is = conn.getInputStream(); //global var l = conn.getContentLength(); //global var } catch (Exception e) { //handling code skipped } } //getContentStream and getLength methods which just return'is' and 'l' are skipped Here is where the fun part began. I ran some profiling (using System.currentTimeMillis()) to find out what takes long ,and what doesnt. The call to this method takes only 200ms on avg public InputStream getWebPageAsStream(int battle_id, int page) throws Exception { String url = "http://api.erepublik.com/v1/feeds/battle_logs/" + battle_id + "/" + page; WebObject wobj = new WebObject(url, 10000, 10000, true, "Mozilla/5.0 " + "(Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)"); wobj.executeConnection(); l = wobj.getContentLength(); // global variable return wobj.getContentStream(); //returns 'is' stream } 200ms is quite expected from a network operation, and i am fine with it. BUT when i parse the inputStream in any way(read it into string/use java XML parser/read it into another ByteArrayStream) the process takes over 1000ms! for example, this code takes 1000ms IF i pass the stream i got('is') above from getContentStream() directly to this method: public static Document convertToXML(InputStream is) throws ParserConfigurationException, IOException, SAXException { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(is); doc.getDocumentElement().normalize(); return doc; } this code too, takes around 920ms IF the initial InputStream 'is' is passed in(dont read into the code itself - it just extracts the data i need by directly counting the characters, which can be done thanks to the rigid api feed format): public static parsedBattlePage convertBattleToXMLWithoutDOM(InputStream is) throws IOException { // Point A BufferedReader br = new BufferedReader(new InputStreamReader(is)); LinkedList ll = new LinkedList(); String str = br.readLine(); while (str != null) { ll.add(str); str = br.readLine(); } if (((String) ll.get(1)).indexOf("error") != -1) { return new parsedBattlePage(null, null, true, -1); } //Point B Iterator it = ll.iterator(); it.next(); it.next(); it.next(); it.next(); String[][] hits_arr = new String[1000][4]; String t_str = (String) it.next(); String tmp = null; int j = 0; for (int i = 0; t_str.indexOf("time") != -1; i++) { hits_arr[i][0] = t_str.substring(12, t_str.length() - 11); tmp = (String) it.next(); hits_arr[i][1] = tmp.substring(14, tmp.length() - 9); tmp = (String) it.next(); hits_arr[i][2] = tmp.substring(15, tmp.length() - 10); tmp = (String) it.next(); hits_arr[i][3] = tmp.substring(18, tmp.length() - 13); it.next(); it.next(); t_str = (String) it.next(); j++; } String[] b_info_arr = new String[9]; int[] space_nums = {13, 10, 13, 11, 11, 12, 5, 10, 13}; for (int i = 0; i < space_nums.length; i++) { tmp = (String) it.next(); b_info_arr[i] = tmp.substring(space_nums[i] + 4, tmp.length() - space_nums[i] - 1); } //Point C return new parsedBattlePage(hits_arr, b_info_arr, false, j); } I have tried replacing the default BufferedReader with BufferedReader br = new BufferedReader(new InputStreamReader(is), 250000); This didnt change much. My second try was to replace the code between A and B with: Iterator it = IOUtils.lineIterator(is, "UTF-8"); Same result, except this time A-B was 0ms, and B-C was 1000ms, so then every call to it.next() must have been consuming some significant time.(IOUtils is from apache-commons-io library). And here is the culprit - the time taken to parse the stream to string, be it by an iterator or BufferedReader in ALL cases was about 1000ms, while the rest of the code took 0ms(e.g. irrelevant). This means that parsing the stream to LinkedList, or iterating over it, for some reason was eating up a lot of my system resources. question was - why? Is it just the way java is made...no...thats just stupid, so I did another experiment. In my main method I added after the getWebPageAsStream(): //Point A ba = new byte[l]; // 'l' comes from wobj.getContentLength above bytesRead = is.read(ba); //'is' is our URLConnection original InputStream offset = bytesRead; while (bytesRead != -1) { bytesRead = is.read(ba, offset - 1, l - offset); offset += bytesRead; } //Point B InputStream is2 = new ByteArrayInputStream(ba); //Now just working with 'is2' - the "copied" stream The InputStream-byte[] conversion took again 1000ms - this is the way many ppl suggested to read an InputStream, and stil it is slow. And guess what - the 2 parser methods above (convertToXML() and convertBattlePagetoXMLWithoutDOM(), when passed 'is2' instead of 'is' took, in all 4 cases, under 50ms to complete. I read a suggestion that the stream waits for connection to close before unblocking, so i tried using HttpComponentsClient 4.0 (http://hc.apache.org/httpcomponents-client/index.html) instead, but the initial InputStream took just as long to parse. e.g. this code: public InputStream getWebPageAsStream2(int battle_id, int page) throws Exception { String url = "http://api.erepublik.com/v1/feeds/battle_logs/" + battle_id + "/" + page; HttpClient httpclient = new DefaultHttpClient(); HttpGet httpget = new HttpGet(url); HttpParams p = new BasicHttpParams(); HttpConnectionParams.setSocketBufferSize(p, 250000); HttpConnectionParams.setStaleCheckingEnabled(p, false); HttpConnectionParams.setConnectionTimeout(p, 5000); httpget.setParams(p); HttpResponse response = httpclient.execute(httpget); HttpEntity entity = response.getEntity(); l = (int) entity.getContentLength(); return entity.getContent(); } took even longer to process(50ms more for just the network) and the stream parsing times remained the same. Obviously it can be instantiated so as to not create HttpClient and properties every time(faster network time), but the stream issue wont be affected by that. So we come to the center problem - why does the initial URLConnection InputStream(or HttpClient InputStream) take so long to process, while any stream of same size and content created locally is orders of magnitude faster? I mean, the initial response is already somewhere in RAM, and I cant see any good reasong why it is processed so slowly compared to when a same stream is just created from a byte[]. Considering I have to parse million of entries and thousands of pages like that, a total processing time of almost 1.5s/page seems WAY WAY too long. Any ideas? P.S. Please ask in any more code is required - the only thing I do after parsing is make a PreparedStatement and put the entries into JavaDB in packs of 1000+, and the perfomance is ok ~ 200ms/1000entries, prb could be optimized with more cache but I didnt look into it much.

    Read the article

< Previous Page | 617 618 619 620 621 622 623 624 625 626 627 628  | Next Page >