URL.openStream() works in Windows but not in Linux

I am having a problem with this line:
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
in the code sample further below.
A simple program using this line works when compiled in my Windows XP:
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)
but not when compiled on my RedHat FC 4 server:
java version "1.4.2"
gij (GNU libgcj) version 4.0.2 20051125 (Red Hat 4.0.2-8)
The program (making using of a previous froum example and pared down to minimize tangent topics):
The code works for all 3 URLs in Windows. In Linux it only works for the 1st one (bbc.co site)
Error is listed below the code:
import java.net.*;
import java.io.*;
public class BBC {
public static void main(String[] args) throws Exception
//    URL url = new URL("http://news.bbc.co.uk/sport1/hi/football/eng_prem/6205747.stm");
//    URL url = new URL("http://www.weatherunderground.com/global/stations/71265.html");
    URL url = new URL("http://www.weatherunderground.com");
    BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
    int nLineCnt = 0;
    String inputLine;
    while ((inputLine = in.readLine()) != null)
        nLineCnt++;
    System.out.println("nLineCnt=" + nLineCnt);
//--------------------------------------------------------------------------------------------------------------------------------------------Exception in thread "main" java.lang.StringIndexOutOfBoundsException
at java.lang.String.substring(int, int) (/usr/lib/libgcj.so.6.0.0)
at gnu.java.net.protocol.http.Request.readResponse(gnu.java.net.LineInputStream) (/usr/lib/libgcj.so.6.0.0)
at gnu.java.net.protocol.http.Request.dispatch() (/usr/lib/libgcj.so.6.0.0)
at gnu.java.net.protocol.http.HTTPURLConnection.connect() (/usr/lib/libgcj.so.6.0.0)
at gnu.java.net.protocol.http.HTTPURLConnection.getInputStream() (/usr/lib/libgcj.so.6.0.0)
at java.net.URL.openStream() (/usr/lib/libgcj.so.6.0.0)
at BBC.main(java.lang.String[]) (Unknown Source)
at gnu.java.lang.MainThread.call_main() (/usr/lib/libgcj.so.6.0.0)
at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)
Can anyone please suggest what I can do to be able to process the weatherunderground URL?
Claude

To me it would suggest a bug in the VM that you are using.
Solutions
1. Use a different VM
2. Write your own code to process the http code. Depending on licensing for the VM in use and the VM itself. you might be
able to find the bug in that code, fix it yourself, and then use your fix (start up command line options for VM.) Otherwise
you have to duplicate the functionality. You might look to jakarta commons, there might be code there that does that.

Similar Messages

  • URL call works in windows and not in linux

    HI,
    I am using the below code to call a URL from my java code. It works fine when I access the application from local tomcat service, but it doesn't work under linux where my production server is setup.
    URL url = new URL(urlData);
                             URLConnection conn = url.openConnection();
                             conn.setDoOutput(true);
                             OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
                   wr.write(rawData);
                   wr.flush();
                   BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                   String line;
                   while ((line = rd.readLine()) != null) {
                        if (mode.equalsIgnoreCase("O"))
                             retValCaseId = Integer.parseInt(line.toString());
                        else if(mode.equalsIgnoreCase("C"))
                             retValCloseStatus = line.toString();
                             //System.out.println("retValCloseStatus "+ retValCloseStatus);
                   wr.close();
                   rd.close();

    Do anyone know what is the problem?
    Regds,
    noneda

  • CS6 Plugin works on windows but not mac

    Hi,
    We have been developing a plugin for InDesign since CS3 and have recently ported it to CS6 (it was ported to all previous versions too, as they came out).
    I followed the porting guide etc. and on windows it compiles and runs just ok - the plugin works correctly.
    But when i compiled the same files on our mac machine and put the .indesignPlugin file in th plugins directory i can't see our plugin's context menu.
    I can see that it is in fact loaded on startup (when i remove it ID loads 325 extensions, when i put it back - 326), but still it dosen't seem to work...
    I initially thought that the versioning was off but our PluginVersion resource relies solemnly on SDKDef.h , i also tried putiing the file in CS5's plugin directory and got an error message that CS6 is required - so the version info is fine i guess.
    We are using xCode 3.2.5 (because we have to support Mac OS 10.5 and 10.4) to build on mac and i've never had problems before - it worked on CS4, CS5 and CS5.5.
    The changes i made when porting were minor and only in the code - so what has changed? and how come it works on windows but not on mac?
    Any input is greatly appreciated, i've already spent days trying to understand this.
    Thanks,
    Dan.

    Hi and thank you for replying.
    The resources do get compiled correctly (i assume this because we do get a .indesign file at the end - which means the ODFRC ran ok). they are linked correctly in the mac project (i saw a file that determines the version - it's linked the same way against my win and mac projects and the win version works fine so i guess that's ok too).
    the context menu is just another menu on the "menu bar" (don't know how to call it?) - i.e where the "file" and "edit" etc. menus are.
    I can't seem to understand how come this works fine under windows but not under mac - they are essentially the same projects linked against the same resources (the difference being iCode vs VC10 projects).
    can this be related to the fact we're using xCode 3.2.5?
    Thank you.

  • ShowDocument works on Windows but not Mac

         public void actionPerformed(ActionEvent ae) {
              String command = ae.getActionCommand();
              if(command.equals("save"))
                   String insertHTML = getDocumentText();
                   showDoc("ProcessPage.asp?BodyCopy='Test'","_blank");
         //Shows a document (htm,asp,..) in a frame
         private void showDoc(String urlstr, String frameName) {
              int pos = getDocumentBase().toString().lastIndexOf("/");          
              String DocBase = getDocumentBase().toString().substring(0, pos+1);
              System.out.println("openURL: "+DocBase + urlstr);
              try
              {     URL url = new URL(DocBase + urlstr);                         
                   AppletContext j = getAppletContext();
                   j.showDocument(url, frameName); }
              catch (MalformedURLException e) // new URL() failed
              {     System.out.println("new URL() failed for: "+ DocBase + urlstr); }
              catch (IOException e) // openConnection() failed
              {     System.out.println("openConnection() failed for: "+ DocBase + urlstr); }
    I am trying to open up a new web page from an applet using showDocument. This works fine on Windows but not on Mac. The applet I am working with extends JApplet. Does anybody have any suggestions?

    This is not working for me either. After issuing the showDocument(url, target) command I never see the request come into my webserver log. Although, it only seems to not work when the Mac is setup as Japanese. I know this doesn't make any sense.
    Does not work on IE or Safari with 1.3.1
    Does work with Safari with 1.4.1
    Please help

  • Image.source in ItemRenderer works in Windows but not Mac

    I have a Flex (AIR) application that is giving me problems on
    the Mac. In one of the
    Datagrids, I am using an ItemRenderer with an image control.
    Some code in the
    "set data(value:Object)" function assigns a file path as the
    source of the image
    control as follows.
    imgThumb.source =
    File.documentsDirectory.resolvePath("pdqtemp").nativePath +
    "/" + data.strJPGFileName;
    This works correctly in Windows , but not on the Mac.
    In this case, the path resolves to the following on the Mac.
    /Users/brian/Documents/pdqtemp/artist_01t.jpg
    I have verified that the file is in the right place and when
    using the path in
    the command line console, it correctly addresses that
    directory and file. I
    don't normally develop apps for the Mac so I am sure there is
    something I am
    missing.
    Any ideas?
    Thanks for your help.

    Hi Jed,
    Thanks for responding
    That is the exact path assigned to the Source of the Image
    control. However, it isn't exactly a trace of the Image.Source
    property.
    The code in question is attached
    The alert shows the path I originally posted and shows that
    the fileImgThumb.exists returns False.
    As I mentioned, this works perfectly in Windows. There is
    some code elsewhere in the app that creates the thumbnail. That
    does work on the Mac as the thumbnail image is created and saved
    where expected.
    I am not sure what I might be doing wrong.
    Thanks for your help,
    Sid

  • Works on Windows but timeout on linux

    I have a problem with the code below. It perfectly works under Windows, but I am getting a timeout under Linux. I am not sure why. Any ideas?
    One more thing: Under Liunx It fails when I am testing it using port 1935. However, if I test it with port 110, it works. On Windows it works with both ports (110 & 1935).
    Thanks you!
    Gustavo
                try {
                    theSocket = new Socket(Address,Port);
                    theSocket.setSoTimeout(Timeout);
                  try {
                        BufferedReader inFromServer = new BufferedReader(
                                new InputStreamReader(theSocket.getInputStream()));
                        PrintWriter outToServer = new PrintWriter(new BufferedWriter(
                                new OutputStreamWriter(theSocket.getOutputStream())), true);
                        outToServer.println((char)13);
                        messageReceived = inFromServer.readLine();
                        TmpPage = messageReceived;
                    catch(IOException e) {
                        if (status == 1){
                            ErrorDescription = ErrorDescription+"ERRTEL01 Error in TELNETMonitor Thread: "+e.getMessage();
                        }else{
                            ErrorDescription = "ERRTEL01 Error in TELNETMonitor Thread: "+e.getMessage();
                        status = 1;
                    finally {
                        theSocket.close();
                catch(UnknownHostException e) {
                    if (status == 1){
                        ErrorDescription = ErrorDescription+"ERRTEL03 Error in TELNETMonitor Thread (INVALID HOST): "+e.getMessage();
                    }else{
                        ErrorDescription = "ERRTEL03 Error in TELNETMonitor Thread (INVALID HOST): "+e.getMessage();
                    status = 1;
                catch(ConnectException e) {
                    if (status == 1){
                        ErrorDescription = ErrorDescription+"ERRTEL04 Error in TELNETMonitor Thread (THE HOST DOESN'T RUN A SERVER ON THE SPECIFIED PORT): "+e.getMessage();
                    }else{
                        ErrorDescription = "ERRTEL04 Error in TELNETMonitor Thread (THE HOST DOESN'T RUN A SERVER ON THE SPECIFIED PORT): "+e.getMessage();
                    status = 1;
                catch(IOException e) {
                    if (status == 1){
                        ErrorDescription = ErrorDescription+"ERRTEL01 Error in TELNETMonitor Thread: "+e.getMessage();
                    }else{
                        ErrorDescription = "ERRTEL01 Error in TELNETMonitor Thread: "+e.getMessage();
                    status = 1;
                }

    GustavoN wrote:
    ...Under Liunx It fails..how?
    >
    Thanks you!
    Gustavo
    [ Don't use PrintWriter or PrintStream|http://forums.sun.com/thread.jspa?messageID=10642137#10642137]
    outToServer.println((char)13);You should flush() the outputstream after writing, before you do a subsequent read on the socket's inputstream.
    catch(IOException e) {
    if (status == 1){
    ErrorDescription = ErrorDescription+"ERRTEL01 Error in TELNETMonitor Thread: "+e.getMessage();
    }else{
    ErrorDescription = "ERRTEL01 Error in TELNETMonitor Thread: "+e.getMessage();
    status = 1;
    finally {
    theSocket.close();
    catch(UnknownHostException e) {
    if (status == 1){
    ErrorDescription = ErrorDescription+"ERRTEL03 Error in TELNETMonitor Thread (INVALID HOST): "+e.getMessage();
    }else{
    ErrorDescription = "ERRTEL03 Error in TELNETMonitor Thread (INVALID HOST): "+e.getMessage();
    status = 1;
    catch(ConnectException e) {
    if (status == 1){
    ErrorDescription = ErrorDescription+"ERRTEL04 Error in TELNETMonitor Thread (THE HOST DOESN'T RUN A SERVER ON THE SPECIFIED PORT): "+e.getMessage();
    }else{
    ErrorDescription = "ERRTEL04 Error in TELNETMonitor Thread (THE HOST DOESN'T RUN A SERVER ON THE SPECIFIED PORT): "+e.getMessage();
    status = 1;
    catch(IOException e) {
    if (status == 1){
    ErrorDescription = ErrorDescription+"ERRTEL01 Error in TELNETMonitor Thread: "+e.getMessage();
    }else{
    ErrorDescription = "ERRTEL01 Error in TELNETMonitor Thread: "+e.getMessage();
    status = 1;
    C'mon, Gustavo, you can have cleaner exception handling than that!
    Edited by: ghstark on May 14, 2009 4:40 PM

  • RUN_REPORT_OBJECT is working in Windows but not in Solaris

    hi
    I have written the following code. It's working in Windows(when I give windows path). But it's not working in Solaris
    It's not either giving me any error message. Could you please help me?
    declare
    repid REPORT_OBJECT;
         v_rep VARCHAR2(100);
         List_id ParamList;
    BEGIN
         List_id := GET_PARAMETER_LIST('input_params');
         IF NOT ID_NULL(List_id) THEN
         DESTROY_PARAMETER_LIST(List_id);
         END IF;
         List_id := Create_Parameter_List('input_params');
         Add_Parameter(List_id, 'p_1',TEXT_PARAMETER,'100008456');
         Add_Parameter(List_id, 'p_2',TEXT_PARAMETER,'P22');
         Add_Parameter(List_id, 'p_3',TEXT_PARAMETER,'600015');
         repid := FIND_REPORT_OBJECT(RE1');
         SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,ASYNCHRONOUS);
         SET_REPORT_OBJECT_PROPERTY(repid,REPORT_FILENAME,'/home/oracle/OraHome2/rep/rep3.rdf');
         SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,FILE);
         SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'PDF');
         SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESNAME,'/home/oracle/OraHome2/rep/aa.pdf');
         SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'you_report_server_name');
         v_rep := RUN_REPORT_OBJECT(repid, List_id);
         Destroy_Parameter_List(List_id);
         message('v_rep '||v_rep);
         message(1);
    exception
         when others then
         message(sqlerrm);
         message(1);
    end;

    hi
    it is showing me following. I could not understand it. Is there any error message here
    Reports Server Queue Status
    Security Mode Non-secure
    Queue on server rep_SIT-02_10gAS, on Tue Dec 08 13:13:21 IST 2009 To kill a current (enqueued or scheduled) job, click on the status icon for the specific job. Then click on Cancel Job button in next page.To get a cached output of a successfully finished past job, click on the Job Name hyperlink of that job (if available).
    View
    View Current JobsPast JobsScheduled Jobs
    Result
    Previous Next
    Job ID Job Type Job Name Job Status Job Owner Output Type Output Name Server Name Queued At Started At Finished At
    None
    Help
    Copyright (c) 2002, 2005, Oracle. All rights reserved.
    -------------------------------------------------------------------------------------------------------

  • IPod works with Windows but not iMac

    I have an 80GB iPod Classic that works perfect on my computer running Windows Vista and iTunes 7. I have only ever used it with iTunes.
    My iPod's format is FAT32 (Windows). And it's running software Version 1.1.2 and disk use is enabled.
    When i try and plug it into an iMac (iMac G5) running OS X 10.3.9 it doesn't work. It doesn't come up as an external drive so I can't access it as an external disk and it fails to work in iTunes.
    I have upgraded the Mac to the latest version of iTunes but this still doesn't solve the problem. I tunes gives me the following error "iTunes has detected an iPod that appears to be corrupted...". This is not the case, my iPod is not corrupted.
    How can i get my iPod to work on the Mac?

    I had the same problem. Your ipod is formated i believe for windows so it wont come up on your mac. to format it you need to plug it into the mac go onto itunes and if you click on the summary page of ipod the only options you will be able to edit on the ipod from the mac are restore or (i dont know exactly) but there should be a button explaining that you need to restore your ipod and format it for mac.
    to do this you need to click the button on the summary page on itunes (if you click on your 80G ipod on the left side) but formating for mac deletes everything off the ipod. it wont be able to transfer music etc if you format for mac on your windows but it will now work on the mac.
    i hope u understood because i didnt really make it very clear. but if you dont understand just ask and ill be happy to explain it for you.
    Alex
    Message was edited by: Alexander Richardson

  • New shuffle works with Windows but not with Mac

    Just got a new 2nd gen shuffle. Initially it was formatted as Fat32 per Disk Utility on Mac. I reformatted to Mac OS (journaled). iTunes was recognizing the new shuffle on the mac and I created a playlist that showed it took up disk space in the "summary" tab. However nothing played on the shuffle when I disconnected it. I was trying to update the software but that function is greyed out. I tried to click "enable disc use" and when I applied it, it says it can't find the ipod. It wont let me update anything. The only thing I can do is create a playlist that the summary says is on the ipod but it doesnt play.
    I then connected it to my Windows XP machine and it asked me to reformat the drive, which I did, then everything worked flawlessly. I would really prefer to download things to the shuffle from my Mac than Windows XP but it just won't let me. I tried using "iPod Updater" and the most recent one from the list was 03/2006 and that didn't help anyhting. "iPod Reset Utility" would not recognize the ipod to reset it even after I sucessfully set it to Mac OS journaled in Disk Utility.
    I am very frustrated. This also happened to my Nano I purchased a few months ago and I have to organize it on the PC as well.
    I am running iTunes 7.2

    I have exactly the same problem with my two
    computers, both of which are Macs. The shuffle is
    recognised on one, but not the other.
    Here's a screenshot of iTunes ->
    http://www.simongbrown.com/blog/images/2007/shuffle-no
    t-recognised.png
    BTW, I also have an older white iPod in use on the
    Mac that doesn't work.
    I've tried a few things (including running iTunes
    under a different user account, reinstalling iTunes)
    but nothing seems to help. The only thing left to do
    is reinstall the OS, but that sounds a little extreme!
    That's way too extreme... Use the shuffle Reset Utility.
    http://www.apple.com/support/downloads/ipodresetutility10formac.html

  • AIRPORT WORKS ON WINDOWS BUT NOT ON MAC OSX

    I own a Mac Mini Intel and I have installed Windows XP with bootcamp. In Windows XP I can connect to my wireless router (and Internet)without problem, but not in Mac OSX. I had this problem with the 10.4.x version, and although I have upgraded to Leopard, the problem continues the same. I can access the router in Windows and change any settings (I say that for if someone knows the solution and it includes changes in the router). Has someone had this problem before? Has someone any solution to this problem? Thank you.

    Yes i Seem to be experiencing a similar problem as you, in which connecting to a router on OS X is easy but as soon as i try it on windows xp it cannot establish a connection but my router is already connectingto other windows pcs. Maybe this is because windows cannot recognizethe built in airport, or perhaps it needs to be configured in a way to work with both Xp and os X

  • Runtime.exec work in windows but not in solaris??

    hi all,
    can someone tell me why the following code work in windows platform but doesnt work in solaris?The program tries to ping 127.0.0.1 and the output is correct in windows, but when i try it in solaris, it produces the following exception :
    Internal error: Unexpected Java exception thrown ( unknown exception, no description ) , stack:java.lang.NoClassDefFoundError: StreamGobbler
    at java.lang.Class.getDeclaredConstructors()(Native Method) ....
    The code is as follow:
    import java.util.*;
    import javax.servlet.http.*;
    import javax.servlet.*;
    import java.io.*;
    class StreamGobbler extends Thread
         InputStream is=null;
         String type=null;
         PrintWriter out=null;
         StreamGobbler(InputStream is,String type,PrintWriter out)
         this.is=is;
         this.type=type;
         this.out=out;
         public void run()
              try
              InputStreamReader isr=new InputStreamReader(is);
              BufferedReader br=new BufferedReader(isr);
              System.out.println("finishing inputstreamReader and BufferedReader");
              String line=null;
              while (     (line=br.readLine())!=null )
                   {     out.println(type+"> "+line);
                        out.println("<br>");          
              catch (IOException ioe)
              {     ioe.printStackTrace();
    public class ping extends HttpServlet
         public void init(ServletConfig config) throws ServletException
         {     super.init();
         public void service(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
              res.setContentType("text/html");
              PrintWriter out=res.getWriter();
         try     {
              Runtime rt=Runtime.getRuntime();
              System.out.println("pinging 127.0.0.1");
              String[] cmd={"ping","127.0.0.1"};
              Process proc=rt.exec(cmd);
              System.out.println("finishing process proc=rt.exec(cmd)");
              StreamGobbler errorGobbler = new StreamGobbler(proc.getErrorStream(),"ERROR",out);
              StreamGobbler outputGobbler= new StreamGobbler(proc.getInputStream(),"OUTPUT",out);
              errorGobbler.start();
              outputGobbler.start();
              int exitVal=proc.waitFor();
              out.println("Process exitValue: "+exitVal);
              out.close();
         catch (Throwable t)
                   t.printStackTrace();

    Did you copy all the class files to your solaris machine ? SOunds like you didn't copy all your files correctly.

  • My codes run in windows but not in Linux what is wrong?

    //I have 4 codes in total but heres is one for example
    import java.util.*;
    // This state accepts numeric input less than 100 and subtracts
    // 1 from each input number before exiting the state.
    // We exit the state if the input is exactly 100.
    public class AState extends State {
    public AState (String n, boolean d ) {
    super(n,d);
    public void RUN () {
    int ch = 0;
    entry();
    Scanner stdin = new Scanner(System.in);
    ch = stdin.nextInt();
    while ( ch != 100 ) {
    ch--;
    System.out.print(" " + ch);
    ch = stdin.nextInt();
    // change state from AState to BState
    Controller.state = Controller.states[Controller.BSTATE];
    // this will be the AState version of exit().
    exit();
    //It runs perfectly in windows but once I compile in a terminal of Linux it doesn't run it show like 8 errors, why is that, can somebody tell me what can I do about it

    public class AState extends State {
    ^
    Astate.java:18: cannot find symbol
    symbol : method entry()
    location: class AState
    entry();
    ^
    ./Controller.java:8: class BState is public, should be declared in a file named BState.java
    public class BState extends State {
    ^
    ./Controller.java:8: cannot find symbol
    symbol: class State
    public class BState extends State {
    ^
    Astate.java:31: cannot access Controller
    bad class file: ./Controller.java
    file does not contain class Controller
    Please remove or make sure it appears in the correct subdirectory of the classpath.
    Controller.state = Controller.states[Controller.BSTATE];
    ^
    6 errors
    //As i said before, this run perfently through windows the same exactly code.

  • Code working on Windows but not in Unix

    Hello,
    I try to test a https connection. My method is to accept all kind of certificat.
    Under Windows this code works well and return true when Itest the https connection but under Unix it returns false.
    Why if I accept all certificat , that does not work?
    Thank for any light.
          * Test the web connection
          * @param keystorePath
          * @return the result TRUE|FALSE
         public boolean testWebConnection(String keystorePath) {
              boolean result = false;
              try {
                   String urlname = "https://" + serverConfig.getLocalHostName() + ":8443/";
                   URL url = new URL(urlname);
                   SSLContext sc = SSLContext.getInstance("SSL");
                   System.setProperty("javax.net.ssl.trustStore", keystorePath);
                   sc.init(null, null, new java.security.SecureRandom());
                   // sc.init(null, trustAllCerts, new java.security.SecureRandom());
                   HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
                   HttpsURLConnection con = (HttpsURLConnection) new URL(urlname).openConnection();
                   con.setHostnameVerifier(DO_NOT_VERIFY);
                   if (!con.getHeaderFields().isEmpty()) {
                        con.disconnect();
                        description = LanguageText.getHTTPSConnectionSuccessMessageLabel();
                        return true;
                   } else {
                        description = LanguageText.getHTTPSConnectionFailMessageLabel();
                        System.setProperty("java.protocol.handler.pkgs", "javax.net.ssl");
                                            url = new URL("http://" + serverConfig.getLocalHostName() + ":8080");
                        URLConnection conn = url.openConnection();
                        if (!conn.getHeaderFields().isEmpty()) {
                             description = description + "\n" + LanguageText.getHTTPConnectionSuccessMessageLabel();
                             result = true;
                        } else{
                             description = description + "\n" + LanguageText.getHTTPConnectionFailMessageLabel();
              } catch (MalformedURLException mue) {
                   Logger.logException("The url is not valid", mue);
              } catch (java.net.ConnectException ce) {
                   description = description + LanguageText.getHTTPNotConnectMessageLabel();
                   Logger.logException("Cannot connect", ce);
              } catch (IOException ie) {
                   Logger.logException("The url is not valid", ie);
              } catch (NoSuchAlgorithmException nsae) {
                   Logger.logException("Problem with the algorithm", nsae);
              } catch (KeyManagementException kme) {
                   Logger.logException("Problem with the key management", kme);
              return result;
          * Method to not verify the hostname
         private static final HostnameVerifier DO_NOT_VERIFY = new HostnameVerifier() {
              public boolean verify(String hostname, SSLSession session) {
                   return true;
         };

    1) Are you absolutely sure that the keystorePath variable contains the correct path to
    your truststore on the unix machine?
    2) Does the truststore contain the certificate of the server you are trying to connect to?
    3) Im guessing that your commented-out line using the trustAllCerts refers to a blank
    or promiscuous TrustManager implementation that does not check your truststore. Does the server
    work on the unix machine using the trustAllCerts? If it does, then that means there is something
    wrong with your truststore (possibly one of the two above mentioned items).

  • Reading input from servlet works in Windows but not Kubuntu

    I'm working on an applet/servlet/mysql database application and recently switched from Windows Vista (yeah, yeah) to Kubuntu Gutsy Gibbon. In Vista, everything worked fine (bet you've never heard anyone say that before), but in Kubuntu, I get a FileNotFound exception at the line where I initialize the ObjectInputStream (the ObjectOutputStream line doesn't throw an exception, but it doesn't look like that one works either (I output queries and such to the log files when the servlet receives them, but the logs are empty)). I tried everything I could think of (tomcat is fine, the servlet is where it should be, etc), but nothing seems to work.
    Here's the code from my applet:
    //open the connection to the servlet
    URLConnection servletConnection = servletLocation.openConnection();
    //inform the connection that we will send output and accept input
    servletConnection.setDoOutput(true);
    servletConnection.setDoInput(true);
    //don't use a cached version of URL connection.
    servletConnection.setUseCaches(false);
    servletConnection.setDefaultUseCaches(false);
    //we will send java serialized objects
    servletConnection.setRequestProperty("Content-Type", "application/x-java-serialized-object");
    //send the object to the servlet using serialization
    //*THIS LINE DOESN'T THROW AN EXCEPTION*/
    ObjectOutputStream output=new ObjectOutputStream(servletConnection.getOutputStream());
    //serialize the object
    output.writeObject(data);
    output.flush();     
    output.close();
    //get the object input stream and receive a vector
    /*THIS LINE THROWS A FILENOTFOUND EXCEPTION*/
    ObjectInputStream input=new ObjectInputStream(servletConnection.getInputStream());               
    thing = input.readObject();
    input.close();
    As you can see, I use the same servletConnection for both the output as well as the input. I don't know why one would work and not the other.
    Any input would be great. Just to reiterate, it worked fine in Vista. I'm boggled.
    Thanks.

    If its a sand box restriction you should get a security restriction. How ever getting a FileNotFountException in an applet means that your code try to access a local file some ware which is not allowed in an applet unless it is signed.
    Give us the code that you use to create the URL object. You should not use hard coded URLs in an applet. You have to get the Document URL or Codebase URL of applet and then modify it to derive the URL of the servlet.

  • Page works on windows but not on iPad

    Hi. This page works on Safari for Windows 4.0.3 but has issues on Safari for iPad: http://bit.ly/d3ouub
    Here's what's going on:
    - If you start a video in any of the AnythingSlider panels (Panel 1 and Panel 5 contain video), the video will overflow the AnythingSlider and appear either on the far left or the far right of the page.
    - Also, if you're on Panel #6, you'll see the poster for Panel #1's video tag.
    I've tested this on Windows Safari, giving it the user agent string: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
    But Windows with that user agent doesn't have any issues. What am I doing wrong that the iPad Safari can't display the content rotator with the videos correctly? Thanks.

    Only just realised it's a page for UNC-TV content. I used to live in Chapel Hill and Carrboro.
    I think I can replicate the effect you're seeing on my system (XP SP3, Safari 5.0). So it's not something idiosyncratic to your particular iPad and/or Windows system. But I'm not sure if the effect is something to do with the code on the page itself, the way JWPlayer interacts with the latest versions of Safari, or if it's a problem in Safari itself. (It's not a WebKit issue, seeing that Chrome is handling the page okay.)
    On the code-for-the-page front, the W3C markup validation service isn't liking the particular example page much:
    [105 Errors, 21 warning(s)|http://validator.w3.org/check?uri=http%3A%2F%2Fwww.unctv.org%2FtWxkB bq10M6wKRRL%2Ft%2Fhome19_i.htm&charset=%28detect+automatically%29&doctype=Inline&s s=1&group=0&user-agent=W3CValidator%2F1.781]
    ... but it's saying up front:
    *+Notes and Potential Issues+*
    +The following notes and warnings highlight missing or conflicting information which caused the validator to perform some guesswork prior to validation, or other things affecting the output below. If the guess or fallback is incorrect, it could make validation results entirely incoherent. It is highly recommended to check these potential issues, and, if necessary, fix them and re-validate the document.+
    ... so it's an open question as to how much guidance that can provide. (On the other hand, I'm not a web developer or coder myself. So my observations in that regard have to be taken with a large grain of salt.)
    Have you checked in at the JWPlayer Support about the issue, too?
    http://www.longtailvideo.com/support/jw-player

Maybe you are looking for