The applet sample in jDevel. tutor

I havent found the answer here, but thing it might have be up time and again.
I'm trying out jDev. 3.1. and winNTsbs
In doing the tutorial on applet and business components I'm stuck in the deployment.
After letter for letter following the instructions, I end up with buss.jar and emp.jar and emp_html\emp.html
IE5 is used to open the html, the download start ... and then nothing???
No login, no applet.
Whats the answer ... if you get the question .-)
UPs. the classpath is uniquely set to
please jDevel and oracle (no 1.3,)
null

http://java.sun.com/docs/books/tutorial/rmi/overview.html
RMI is probably what you are looking for. I don't use applets so I don't know if there are any security/functionality probems because of the applets??

Similar Messages

  • Problem while loading the applet across SSL in IE 5.0 & NS 6.0

    Hi
    Can any one of u guys solve my problem????
    I m trying to load an applet thru https protocol in both the browsers( IE 5.0 and Netscape 6.0). I am having a jar file which contains the applet class files and some helper files for the applet.When i m accessing the image URL (in the html file for the applet) thru https protocol itz working fine on both the browsers. But when i try to access codebase thru https i m getting different errors on both the browsers. Errors r as follows.
    Exception in IE 5.0
    java.net.ConnectException: HTTPS response=404
    at
    sun.plugin.protocol.https.BrowserHttpsInputStream.openStream(Native
    Method)
    at
    sun.plugin.protocol.https.BrowserHttpsInputStream.<init>(Unknown
    Source)
    at
    sun.plugin.protocol.https.BrowserHttpsURLConnection.getInputStream(Unknown
    Source)
    at sun.plugin.cachescheme.PluginURLConnection.downLoadFile(Unknown
    Source)
    at
    sun.plugin.cachescheme.PluginJarCacheHandler.downloadJarFileToCache(Unknown
    Source)
    at
    sun.plugin.cachescheme.PluginJarCacheHandler.cacheHandler(Unknown
    Source)
    at
    sun.plugin.cachescheme.PluginJarCacheHandler.getJarFilesPath(Unknown
    Source)
    at sun.plugin.AppletViewer.loadJarFiles(Unknown Source)
    at sun.applet.AppletPanel.runLoader(Unknown Source)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Exception in Netscape 6.0
    java.lang.ClassFormatError: package1/package2/package3/TiffViewer (Bad
    magic number)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at sun.applet.AppletClassLoader.findClass(Unknown Source)
    at sun.plugin.security.PluginClassLoader.access$201(Unknown
    Source)
    at sun.plugin.security.PluginClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin.security.PluginClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.applet.AppletClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.applet.AppletClassLoader.loadCode(Unknown Source)
    at sun.applet.AppletPanel.createApplet(Unknown Source)
    at sun.plugin.AppletViewer.createApplet(Unknown Source)
    at sun.applet.AppletPanel.runLoader(Unknown Source)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Plz help me out if any one of u guys have came across such type of problem. Its very very urgent as well as critical. Any help / suggestion will highly be appreciated
    tks in advance
    Soniya

    Hi..
    I m also facing the same problem as described above. I have checked up the path for the class files mentioned in the "code" param in the html file.I also tested with the sample program but could not succed in getting the result.Both the browsers give different error messages as mentioned in the query posted by soniya1.I would be thankful if u can kindly throw some light on this
    if u have some sample code u may kindly drop it to the following mail id
    [email protected]
    hope to hear from u soon
    tx in advance
    R.Lakshmi

  • Displaying html page with in the applet

    I want to open an html page in the applet. If i use showDocument() of applet, it opens the html page in the browser, but i want to open the html page with in the applet(i.e., applet should display the html page). Is there any way which i can do the above thing.
    Thanks in advance

    Look at this sample:
    import java.awt.*;
    import java.net.*;
    import java.io.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.text.*;
    public class BrwsA extends JApplet
         JPanel      jpa = new JPanel();
         JEditorPane jed = new JEditorPane();
         JScrollPane jsp = new JScrollPane(jpa);
    public BrwsA()
         jpa.setLayout(new BorderLayout());
         jpa.add(jed);
         jpa.setPreferredSize(new Dimension(800,1000));
         jed.setEditable(false);
         jed.setContentType("text/html");
         jed.getEditorKit().createDefaultDocument();
         setContentPane(jsp);
    public void init()
         try
              URL url = new URL(getCodeBase(),"test.html");
              jed.setPage(url);
         catch(MalformedURLException e)
         catch(IOException e)
    }Noah

  • Chat Applet using RMI .... trouble running the Applet using the IE browser.

    Hi,
    I'm trying to run a chat application using RMI technology. Actually, this wasn't created from the scratch. I got this one from from the cd that comes with the book I bought and I did some refinements on it to suit what I wanted to:
    These are the components of the chat application:
    1. RApplet.html - invokes the applet
    html>
    <head>
    <title>Sample Applet Using Dialog Box (1.0.2) - example 1</title>
    </head>
    <body>
    <h1>The Sample Applet</h1>
    <applet code="RApplet.class" width=460 height=160>
    </applet>
    </body>
    </html>
    2. RApplet.java - Chat session client applet.
    import java.rmi.*;
    import java.applet.*;
    import java.awt.event.*;
    import java.awt.*;
    import java.io.*;
    import java.rmi.server.*;
    //import ajp.rmi.*;
    public class RApplet extends Applet implements ActionListener {
    // The buttons
    Button sendButton;
    Button quitButton;
    Button startButton;
    Button clearButton;
    // The Text fields
    TextField nameField;
    TextArea typeArea;
    // The dialog for entering your name
    Dialog nameDialog;
    // The name the server knows us as
    String privateName;
    // The name we want to be known as in the chat session
    String publicName;
    // The remote chats erver
    ChatServer chatServer;
    // The ChatCallback
    ChatCallbackImplementation cCallback;
    // The main Chat window and its panels
    Frame mainFrame;
    Panel center;
    Panel south;
    public void init() {
    // Create class that implements ChatCallback.
    cCallback = new ChatCallbackImplementation();
         // Create the main Chat frame.
         mainFrame = new Frame("Chat Server on : " +
                        getCodeBase().getHost());
         mainFrame.setSize(new Dimension(600, 600));
         cCallback.displayArea = new TextArea();
         cCallback.displayArea.setEditable(false);
         typeArea = new TextArea();
         sendButton = new Button("Send");
         quitButton = new Button("Quit");
         clearButton = new Button("Clear");
         // Add the applet as a listener to the button events.
         clearButton.addActionListener(this);
         sendButton.addActionListener(this);
         quitButton.addActionListener(this);
         center = new Panel();
         center.setLayout(new GridLayout(2, 1));
         center.add(cCallback.displayArea);
         center.add(typeArea);
         south = new Panel();
         south.setLayout(new GridLayout(1, 3));
         south.add(sendButton);
         south.add(quitButton);
         south.add(clearButton);
         mainFrame.add("Center", center);
         mainFrame.add("South", south);
         center.setEnabled(false);
         south.setEnabled(false);
         mainFrame.show();
         // Create the login dialog.
         nameDialog = new Dialog(mainFrame, "Enter Name to Logon: ");
         startButton = new Button("Logon");
         startButton.addActionListener(this);
         nameField = new TextField();
         nameDialog.add("Center", nameField);
         nameDialog.add("South", startButton);
         try {
         // Export ourselves as a ChatCallback to the server.
         UnicastRemoteObject.exportObject(cCallback);
         // Get the remote handle to the server.
         chatServer = (ChatServer)Naming.lookup("//" + "WW7203052W2K" +
                                  "/ChatServer");
         catch(Exception e) {
         e.printStackTrace();
         nameDialog.setSize(new Dimension(200, 200));
         nameDialog.show();
    * Handle the button events.
    public void actionPerformed(ActionEvent e) {
         if (e.getSource().equals(startButton)) {
         try {
              nameDialog.setVisible(false);;
              publicName = nameField.getText();
              privateName = chatServer.register(cCallback, publicName);
              center.setEnabled(true);
              south.setEnabled(true);
              cCallback.displayArea.setText("Connected to chat server as: " +
                             publicName);
              chatServer.sendMessage(privateName, publicName +
                             " just connected to server");
         catch(Exception ex) {
              ex.printStackTrace();
         else if (e.getSource().equals(quitButton)) {
         try {
              cCallback.displayArea.setText("");
              typeArea.setText("");
              center.setEnabled(false);
              south.setEnabled(false);
              chatServer.unregister(privateName);
              nameDialog.show();
         catch(Exception ex) {
              ex.printStackTrace();
         else if (e.getSource().equals(sendButton)) {
         try{
              chatServer.sendMessage(privateName, typeArea.getText());
              typeArea.setText("");
         catch(Exception ex) {
              ex.printStackTrace();
         else if (e.getSource().equals(clearButton)) {
         cCallback.displayArea.setText("");
    public void destroy() {
         try {
         super.destroy();
         mainFrame.setVisible(false);;
         mainFrame.dispose();
         chatServer.unregister(privateName);
         catch(Exception e) {
         e.printStackTrace();
    3. Chatcallback.java - interface used by clients to connect to the server.
    import java.rmi.*;
    public interface ChatCallback extends Remote {
    public void addMessage(String publicName,
                   String message) throws RemoteException;
    4. ChatcallbackImplementation.java - implements Chatcallback interface.
    import java.rmi.*;
    import java.io.*;
    import java.awt.event.*;
    import java.awt.*;
    public class ChatCallbackImplementation implements ChatCallback {
    // The buttons
    // The Text fields
    TextArea displayArea;
    public void addMessage(String publicName,
                   String message) throws RemoteException {
    displayArea.append("\n" + "[" + publicName + "]: " + message);
    5. Chatserver.java - interface for the chat server.
    import java.rmi.*;
    import java.io.*;
    public interface ChatServer extends Remote {
    public String register(ChatCallback object,
                   String publicName) throws RemoteException;
    * Remove the client associated with the specified registration string.
    * @param registeredString the string returned to the client upon registration.
    public void unregister(String registeredString) throws RemoteException;
    * The client is sending new data to the server.
    * @param assignedName the string returned to the client upon registration.
    * @param data the chat data.
    public void sendMessage(String registeredString, String message) throws RemoteException;
    6. ChatServerImplementation.java - implements Chatserver interface.
    import java.rmi.*;
    import java.util.*;
    import java.rmi.server.*;
    import java.io.*;
    * A class that bundles the ChatCallback reference with a public name used
    * by the client.
    class ChatClient {
    private ChatCallback callback;
    private String publicName;
    ChatClient(ChatCallback cbk, String name) {
         callback = cbk;
         publicName = name;
    // returns the name.
    String getName() {
         return publicName;
    // returns a reference to the callback object.
    ChatCallback getCallback() {
         return callback;
    public class ChatServerImplementation extends UnicastRemoteObject
    implements ChatServer {
    // The table of clients connected to the server.
    Hashtable clients;
    // Tne number of current connections to the server.
    private int currentConnections;
    // The maximum number of connections to the server.
    private int maxConnections;
    // The output stream to write messages to.
    PrintWriter writer;
    * Create a ChatServer.
    * @param maxConnections the total number if connections allowed.
    public ChatServerImplementation(int maxConnections) throws RemoteException {
         clients = new Hashtable(maxConnections);
         this.maxConnections = maxConnections;
    * Increment the counter keeping track of the number of connections.
    synchronized boolean incrementConnections() {
         boolean ret = false;
         if (currentConnections < maxConnections) {
         currentConnections++;
         ret = true;
         return ret;
    * Decrement the counter keeping track of the number of connections.
    synchronized void decrementConnections() {
         if (currentConnections > 0) {
         currentConnections--;
    * Register with the ChatServer, with a String that publicly identifies
    * the chat client. A String that acts as a "magic cookie" is returned
    * and is sent by the client on future remote method calls as a way of
    * authenticating the client request.
    * @param object The ChatCallback object to be used for updates.
    * @param publicName The String the object would like to be known as.
    * @return The actual String assigned to the object for removing, etc. or
    * null if the client could not register.
    public synchronized String register(ChatCallback object, String publicString) throws RemoteException {
         String assignedName = null;
         if (incrementConnections()) {
         ChatClient client = new ChatClient(object, publicString);
         assignedName = "" + client.hashCode();
         clients.put(assignedName, client);
         out("Added callback for: " + client.getName());
         return assignedName;
    * Remove the client associated with the specified registration string.
    * @param registeredString the string returned to the client upon registration.
    public synchronized void unregister(String registeredString) throws RemoteException {
         ChatCallback cbk;
         ChatClient sender;
         if (clients.containsKey(registeredString)) {
         ChatClient c = (ChatClient)clients.remove(registeredString);
         decrementConnections();
         out("Removed callback for: " + c.getName());
         for (Enumeration e = clients.elements(); e.hasMoreElements(); ) {
              cbk = ((ChatClient)e.nextElement()).getCallback();
              cbk.addMessage("ChatServer",
                        c.getName() + " has left the building...");
         else {
         out("Illegal attempt at removing callback (" + registeredString + ")");
    * Sets the logging stream.
    * @param out the stream to log messages to.
    protected void setLogStream(Writer out) throws RemoteException {
         writer = new PrintWriter(out);
    * The client is sending new message to the server.
    * @param assignedName the string returned to the client upon registration.
    * @param data the chat data.
    public synchronized void sendMessage(String registeredString, String message) throws RemoteException {
         ChatCallback cbk;
         ChatClient sender;
         try {
         out("Recieved from " + registeredString);
         out("Message: " + message);
         if (clients.containsKey(registeredString)) {
              sender = (ChatClient)clients.get(registeredString);
              for (Enumeration e = clients.elements(); e.hasMoreElements(); ) {
                   cbk = ((ChatClient)e.nextElement()).getCallback();
                   cbk.addMessage(sender.getName(), message);
         else {
              out("Client " + registeredString+ " not registered");
         catch(Exception ex){
         out("Exception thrown in newData: " + ex);
         ex.printStackTrace(writer);
         writer.flush();
    * Write s string to the current logging stream.
    * @param message the string to log.
    protected void out(String message){
         if(writer != null){
         writer.println(message);
         writer.flush();
    * Start up the Chat server.
    public static void main(String args[]) throws Exception {
         try {
         // Create the security manager
         System.setSecurityManager(new RMISecurityManager());
         // Instantiate a server
         ChatServerImplementation c = new ChatServerImplementation(10);
         // Set the output stream of the server to System.out
         c.setLogStream(new OutputStreamWriter(System.out));
         // Bind the server's name in the registry
         Naming.rebind("//" + args[0] + "/ChatServer", c);
         c.out("Bound in registry.");
         catch (Exception e) {
         System.out.println("ChatServerImplementation error:" +
                        e.getMessage());
         e.printStackTrace();
    Using my own machine (connected to a network), I tried to test this one out by setting mine as the server and also the client. I did the following:
    1. Compile the source code.
    2. Use rmic to generate the skeletons and/or stubs from the ChatCallbackImplementation and ChatServerImplementation.
    3. Start the rmiregistry with no CLASSPATH
    4. Start the server successfully.
    5. Start the applet using the AppletViewer command.
    It worked fined.
    The problem is when I ran the applet using the browser, IE explorer, the dialog boxes, frame and buttons did appear. I was able to do the part of logging on. But after that, the applet seemed to have hang. No message appeared that says I'm connected (which appeared using the appletviewer). I clicked the send button. No response.
    I double-checked my classpath. I did have my classpath set correctly. I'm still trying to figure out the problem. Up to now, I don't have any clue what it is.
    I will appreciate much if someone can help me figure what's could have possibly been wrong ....
    Thanks a lot ...

    Hi Domingo,
    I had a similar problem running applet/rmi with IE.
    Looking in IE..view..JavaConsole error messages my applet was unable to find java.rmi.* classes.
    I checked over java classes in msJVM, they're not present.
    ( WinZip C:\WINDOWS\JAVA\Packages\9rl3f9ft.zip and others from msVM installed )
    ( do not contain the java.rmi.* packages )
    I have downloaded and installed the latest msJVM for IE5. ( I think its included in later versions)
    @http://www.objectweb.org/rmijdbc/RJfaq.html I found ref to rmi.zip download to provide
    these classes. I couldn't get the classes from the site but I managed to find a ref to IBM
    site @http://alphaworks.ibm.com/aw.nsf/download/rmi which had similar download.
    The download however didn't solve my problems. I was unable to install rmi.zip with
    RmiPatch.exe install.
    I solved this by extracting the class files from rmi.zip and installing them at C:\WINDOWS\JAVA\trustlib ( msJVM installation trusted classes lib defined in
    registry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Java VM\TrustedLibsDirectory )
    This solved the problem. My rmi/applet worked.
    Hope this helps you.
    Chris
    ([email protected])

  • Any good documentation of the Applet Persistence API ?

    Does anybody have links to good documentation for the Applet Persistence API? I am talking about the new getStream and setStream methods on the AppletContext class. The official documentation I have been able to find simply sucks:
    http://java.sun.com/j2se/1.4/docs/guide/plugin/developer_guide/persistence.html
    A search on this forum and on Google didn't reveal much either. It seems like an almost undocumented feature.
    If you have any links or if you have some hands-on experience with the Applet Persistence API, then please share it. :)

    I'm resurrecting this old thread because I think its pretty funny that in five years this seems to have only gotten more confusing. I don't think anyone is using it (ie. google was still no help) but I'm hoping someone can shed some light.
    I got the distinct impression from... something I thought I read but must have hallucinated... that this API is supposed to persist information across browser runs. Even if that's not the case, I'm curious why I can't get the stated functionality to work. I tried the only sample I could find from this page:
    http://www.java-tips.org/java-se-tips/java.applet/working-with-applet-context-streams.html
    The sample is quite good even if it leaves out the most important information about the API, which the previous poster provided (that its not 'real' persistence). Unfortunately, it doesn't seem to work with the latest release JRE. Through the debugger I'm seeing that the setStream call is happening as expected but the getStreamKeys routine always returns null. Can someone who has successfully used this enlighten me?
    Thanks,
    - David

  • Cannot delete the applet

    i'm working on JCOP in Eclipse and have a big problem now. normally i can install, select, and send command and finally delete applets. but the recent applet(performing class Cipher testing) i've installed, selected and run, but it can't be delete. attempting to delete always return error code 6985 and the applet stucks forever!! so i wanna know how can i delete such the applet? and can we replace the applet with a new one that has the same AID?
    the trouble code is:
    public static byte constructor01(){
              try{
                   cip = new CipherTestClass();
              }catch(Exception e){
                   return (byte)1;  // FAIL
              return (byte)0;  // PASS
         }the above code always return status word 6985 and the applet cannot be remove
    but if i change to this one, the applet can be delete with "delete" command with status word 9000:
    public static byte constructor01(){
              try{
                   CipherTestClass cip = new CipherTestClass();
              }catch(Exception e){
                   return (byte)1;  // FAIL
              return (byte)0;  // PASS
         }Both of the code have no error, can be installed, selected, and run, but only the second that can be remove from card.
    thank you

    Your first sample seems to store a reference to an object in a static field. You cannot delete an applet if a such a reference exists. (See Java Card specification!)
    If you are using a GP211 card, you can delete the entire package using the following JCShell command:
    delete -r <pkgaid>

  • VSDC for Java Card Applet samples~ help

    Hi all :
    I have already download all VSDC and EMV specification from visa and some web site.
    But I cann't find the detail VSDC file system , apdu command and VSDC Applet samples.
    So...
    Can you help me to resolve it ?
    thank you a lot~

    I found some nice code here in the past:
    http://www.cs.ru.nl/~martijno/ooti/smartcards.html
    But it is not VSDC...helps anyway

  • JLable components not being displayed in the panel of the applet

    I am having the problem with the display of the JLabel components in the Panel component of the Applet.
    The JLabel components do not appear in the Panel of the applet unless i minimize or maximize the applet.

    hello...
    i just had the same problem... it was solved by using the .updateUI() method.
    in my case several textFields were dynamically added to a jpanel, there we called the method on that panel.
    ptf.updateUI();     
    hope it works.
    ----------++-----+
    ...algun dia todos seremos luz...
    -zoe

  • Enter Key is not being accepted properly in the Applet

    We have developed a Telnet application which is in form of an Applet. We are facing some problems with respect to that.
    We are using Java 1.2.
    When login sessions are launched, the login prompt is displayed.
    After we enter the user id and press the "Enter" Key, the UI remains at the "user id" prompt and is not accepting the "Enter" Key.
    As a result, we are not getting the password prompt and hence NE UI is not deing displayed.
    This was verified with logs and found that the "Enter" key was interpreted as "char 7" instead of Ascii char 10(Enter Key).
    This problem was observed in both IE and Netscape.
    But this same code works fine when it is run as a Java application. Also the same applet works fine when viewed from the Applet Viewer.
    Iam of the view that the issue may be due to the restrictions imposed by the browsers on the Java Applet.
    Please give me suggestions to circumvent this problem ,if u have faced the same.
    Thanks in advance,
    Darshan

    The reason why ENTER doesn't work is because it's reserved for the default button. The SPACEBAR does what you want.
    http://java.sun.com/j2se/1.4.1/docs/api/javax/swing/doc-files/Key-Metal.html#JButton
    To change the key mappings, read up on JComponent.getActionMap(), JComponent.setActionMap() and the ActionMap class.

  • Closing the Applet when I exit the form

    I am deploying an application on web plataform using Forms Server 6i. I have created my own base.html with a logo and a menu as appropiate. I am using Oracle JInitiator to run the forms. When I run a form, the applet is loaded in a frame created in my base.html. All is working fine, but, when I exit the form, I supposse the applet it's still there, because in the page a gray rectangle still remains. I would like to have a background image in the page, and when I close the form, the applet was unloaded, so I can view the background again. How can I get that.
    Thanks.
    P.D.: Sorry but my english it's not so good.

    Make a new project and import old one into this new one.
    See if you can find a up to date Auto Save.
    Also make a habit of 'Save A Copy' to a different drive after each edit session. Save A Copy does not overwrite after so many times as Auto Save does.

  • How do I update a file in an Applet's JAR file from the Applet code

    Here's my problem.
    My applet is using a serializable history data in which I am storing in the applet's JAR file. When I run the applet, I read the file with "getResourceAsStream()" and run my program with that hist data. When my applet is closed, I need to update this file from my Applet's code and I dumfounded about how to do that.
    Is there any way to update a file in the Applet's JAR file through the Java Applet code? (i.e. OutputStream?).
    Would appreciate any advice people have.

    Just place a copy of the file on the local hard disk and update that. When you start the Applet you try to read from the hard disk. If the file exists then no problem otherwise copy it from the jar to the hard disk.

  • Reading from the Applet's JAR file.

    Is it possible to read a file stored in the jar file that the (unsigned) applet is being executed in? I have a line that goes like (in is just an InputStream):
    in = getClass().getResource( "/exercise.xml" ).openStream();
    and then, in another class, i do (bulider is an instance of javax.xml.parsers.DocumentBuilder, created from the DocumentBuilderFactory class):
    doc = builder.parse( in );
    but this always results in a security exception (works fine from the applet viewer). I tried specifying the full path to the .jar file as the codebase, but got the same results. I have not tested this from an actual web server, i am only opening the .html file directly in IE.
    Due to the nature of the application, it is not possible to host the file seperately on a webserver.
    It seems to me that there is no reason an applet shouldnt be allowed to load a file from the .jar it is executing in, could this simply be a problem of the file being local, and thus linked to from a file:// tag?
    Thanks for any help.
    Thomas Stephens

    Hi Guys
    I have figured out this problem. It's got to do with classloader.
    Applet uses a separate classloader. So using the static getSystemResource(),
    we never get contents from applet jar files. The following will work nicely.
    It is noted that you must loacate the applet classloader as in the first line
    and use the non-static method getResource();
    ObjectInJar obj = new ObjectInJar(); // create an object with a class in the jar file.
    ClassLoader cl = obj.getClass().getClassLoader();
    InputStream stream = cl.getResource("your_filepath_in_jar").openStream();
    Cheers.

  • JRE 1.7 / Java Plug-in - Long delay in retrieving the applet File(JAR) due to a request to the Domain Controller(on port 53)

    Description:
    A specific group of users/customers (using Windows7 OS with IE and FireFox web browsers) are facing problems with retrieving the applet File, after they upgraded the JRE on the system(PC) to JRE 1.7.0_25-b17 from JRE version 1.6.0_29-b11.
    With JRE 1.7.0_25-b17 it is noticed that when the Java plugin requests for the applet File; it sends a request to the Domain Controller of the user, which causes a delay of 2 to 5 minutes and sometimes hangs. The problem occurs consistently.
    The current temporary workaround for this group of users is to use JRE version 1.6.0_29-b11.
    Problem analysis:
    To investigate the problem the below steps were executed:
    1) Collected the Java console outputbelow details from the user's system. (The complete output is not posted due to lengthy content, though can be added further to this post if required.)
    (a) Works fine with JRE version 1.6.0_29-b11. Kindly refer to Java console output in the code ‘section A’ towards the end of this post.
    (b) The problem occurs with problem with JRE version 1.7.0_25-b17. Kindly refer to Java console output in the code ‘section B’ towards the end of this post. The step where the problem is observed, is indicated as(##<comment>##).
    2) The network settings in the user's browser was checked. Internet Options > Connections > LAN setting
    The configured option is 'Use automatic configuration script' and the value is http://www.userAppX.com/proxy.pac
    This configuration remains the same irrespective of the JRE version in use.
    3) The network settings in the Java Control Panel was checked.
    The used/selected option is "Use browser settings", although values for 'Use proxy server' and 'use automatic proxy configuration script' are filled-in as 'user-proxy.com' and 'http://www.userAppX.com/proxy.pac' respectively.
    This configuration remains the same irrespective of the JRE version in use.
    4) The proxy PAC file was checked and debugging was done for the request 'https://myAppletHost.com/download/...'. The FindProxyForUrl function (including the conditions defined in it, for the hostname and domain checks) returns PROXY user-proxy.com:80
    5) The user also tried the below
    a. Changed the option in the network settings in the browser to 'Proxy server' with Address 'user-proxy.com' and Port '80'
    b. Restarted the browser.
    c. Tried with Java Plug-in 1.6.0_29, JRE version 1.6.0_29-b11. There was no problem and no request to the Domain Controller of the user.
    d. Tried with Java Plug-in 10.40.2.43, JRE version 1.7.0_40-b43. The problem occurs with the delay and a request to the Domain Controller of the user is observed.
    Kindly refer to Java console output in the code ‘section C’ towards the end of this post.
    6) The user also tried setting the below property in the Java Control panel; restarted the browser, and try with JRE 1.7.0_40-b43. The problem stil persists.
    -Djava.net.preferIPv4Stack=true
    7) The Global Policy Management of the Domain Controller was verified by the user. It has GPO for proxy setting but nothing related to Java security.
    Questions:
    The problem seems be specific to a particular (user) environment setup, and the user faces the problem when using JRE 1.7.
    We would like to know if the issue is in the (user) environment setup or in JRE 1.7.
    Could you please help with information/ideas/suggestions to identify the root cause and solution for this problem?
    Section A:
    Java Plug-in 1.6.0_29
    Using JRE version 1.6.0_29-b11 Java HotSpot(TM) Client VM
    User home directory = C:\Users\userA
    basic: Plugin2ClassLoader.addURL parent called for https://myAppletHost.com/download/myApplet.jar
    network: Connecting https://myAppletHost.com/download/myApplet.jar with proxy=HTTP @ user-proxy.com/194.xxx.xx.xx:80
    network: Server https://myAppletHost.com/download/myApplet.jar requesting to set-cookie with "BCSI-CS-b1bb5056c5b0e83f=2; Path=/"
    network: Server https://myAppletHost.com/download/myApplet.jar requesting to set-cookie with "BCSI-CS-b1bb5056c5b0e83f=2; Path=/"
    security: Loading Root CA certificates from C:\Program Files (x86)\Java\jre6\lib\security\cacerts
    security: Loaded Root CA certificates from C:\Program Files (x86)\Java\jre6\lib\security\cacerts
    security: Loading SSL Root CA certificates from C:\Program Files (x86)\Java\jre6\lib\security\cacerts
    security: Loaded SSL Root CA certificates from C:\Program Files (x86)\Java\jre6\lib\security\cacerts
    security: Loading certificates from Deployment session certificate store
    security: Loaded certificates from Deployment session certificate store
    security: Loading certificates from Internet Explorer ROOT certificate store
    security: Loaded certificates from Internet Explorer ROOT certificate store
    security: Checking if certificate is in Deployment denied certificate store
    network: Connecting https://myAppletHost.com/download/myApplet.jar with cookie "JSESSIONID=0000IK4bEMoqXH10zsl88rwvoRI:175oe9tjd; BCSI-CS-b1bb5056c5b0e83f=2"
    network: Downloading resource: https://myAppletHost.com/download/myApplet.jar
                    Content-Length: 403.293
                    Content-Encoding: null
    Dump system properties ...
    https.protocols = TLSv1,SSLv3
    java.vm.info = mixed mode, sharing
    java.vm.name = Java HotSpot(TM) Client VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Sun Microsystems Inc.
    java.vm.specification.version = 1.0
    java.vm.vendor = Sun Microsystems Inc.
    java.vm.version = 20.4-b02
    javaplugin.nodotversion = 160_29
    javaplugin.version = 1.6.0_29
    javaplugin.vm.options =
    os.arch = x86
    os.name = Windows 7
    os.version = 6.1
    trustProxy = true
    deployment.proxy.auto.config.url = http://www.userAppX.com/proxy.pac
    deployment.proxy.bypass.local = false
    deployment.proxy.http.host = user-proxy.com
    deployment.proxy.http.port = 80
    deployment.proxy.override.hosts =
    deployment.proxy.same = false
    deployment.proxy.type = 3
    deployment.security.SSLv2Hello = false
    deployment.security.SSLv3 = true
    deployment.security.TLSv1 = true
    deployment.security.mixcode = ENABLE
    Section B:
    Java Plug-in 10.25.2.17
    Using JRE version 1.7.0_25-b17 Java HotSpot(TM) Client VM
    User home directory = C:\Users\userA
    basic: Added progress listener: sun.plugin.util.ProgressMonitorAdapter@12adac5
    basic: Plugin2ClassLoader.addURL parent called for https://myAppletHost.com/download/myApplet.jar
    network: Connecting https://myAppletHost.com/download/myApplet.jar with proxy=HTTP @ user-proxy.com/194.xxx.xx.xx:80
    network: Server https://myAppletHost.com/download/myApplet.jar requesting to set-cookie with "BCSI-CS-2d4ce94a2ae7b460=2; Path=/"
    network: Connecting http://10.x.x.xx:53/ with proxy=DIRECT
                    (##THE ABOVE REQUEST CAUSES THE DELAY OR HANGS##)
    network: Server https://myAppletHost.com/download/myApplet.jar requesting to set-cookie with "BCSI-CS-2d4ce94a2ae7b460=2; Path=/"
    security: Loading Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
    security: Loaded Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
    security: Loading SSL Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
    security: Loaded SSL Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
    security: Loading certificates from Deployment session certificate store
    security: Loaded certificates from Deployment session certificate store
    security: Loading certificates from Internet Explorer ROOT certificate store
    security: Loaded certificates from Internet Explorer ROOT certificate store
    network: Connecting https://myAppletHost.com/download/myApplet.jar with proxy=HTTP @ user-proxy.com/194.xxx.xx.xx:80
    network: Server https://myAppletHost.com/download/myApplet.jar requesting to set-cookie with "BCSI-CS-2d4ce94a2ae7b460=2; Path=/"
    network: Server https://myAppletHost.com/download/myApplet.jar requesting to set-cookie with "BCSI-CS-2d4ce94a2ae7b460=2; Path=/"
    network: Connecting https://myAppletHost.com/download/myApplet.jar with cookie "JSESSIONID=0000UQuXWY5tjxjpwcKHlfJKe_8:175oe9j45; BCSI-CS-2d4ce94a2ae7b460=2"
    network: ResponseCode for https://myAppletHost.com/download/myApplet.jar : 200
    network: Encoding for https://myAppletHost.com/download/myApplet.jar : null
    network: Server response: (length: -1, lastModified: Thu Feb xx yy:yy:yy CET 2013, downloadVersion: null, mimeType: text/plain)
    network: Downloading resource: https://myAppletHost.com/download/myApplet.jar
                    Content-Length: -1
                    Content-Encoding: null
    Section C:
    Java Plug-in 10.40.2.43
    Using JRE version 1.7.0_40-b43 Java HotSpot(TM) Client VM
    User home directory = C:\Users\userA
    basic: Plugin2ClassLoader.addURL parent called for https://myAppletHost.com/download/myApplet.jar
    network: Connecting https://myAppletHost.com/download/myApplet.jar with proxy=HTTP @ user-proxy.com/194.xxx.xx.xx:80
    network: Server https://myAppletHost.com/download/myApplet.jar requesting to set-cookie with "BCSI-CS-1d67c8b6508ca09c=2; Path=/"
    network: Connecting http://10.x.x.xx:53/ with proxy=DIRECT
                    (##THE ABOVE REQUEST CAUSES THE DELAY OR HANGS##)
    network: Checking for update at: https://javadl-esd-secure.oracle.com/update/blacklist
    network: Checking for update at: https://javadl-esd-secure.oracle.com/update/blacklisted.certs
    network: Checking for update at: https://javadl-esd-secure.oracle.com/update/baseline.version
    network: Connecting https://javadl-esd-secure.oracle.com/update/blacklist with proxy=HTTP @ user-proxy.com/194.xxx.xx.xx:80
    network: Connecting https://javadl-esd-secure.oracle.com/update/baseline.version with proxy=HTTP @ user-proxy.com/194.xxx.xx.xx:80
    network: Connecting https://javadl-esd-secure.oracle.com/update/blacklisted.certs with proxy=HTTP @ user-proxy.com/194.xxx.xx.xx:80
    security: Loading Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
    security: Loaded Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
    security: Loading SSL Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
    security: Loaded SSL Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
    Dump system properties ...
    https.protocols = TLSv1,SSLv3
    java.vm.info = mixed mode, sharing
    java.vm.name = Java HotSpot(TM) Client VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Oracle Corporation
    java.vm.specification.version = 1.7
    java.vm.vendor = Oracle Corporation
    java.vm.version = 24.0-b56
    javaplugin.nodotversion = 10402
    javaplugin.version = 10.40.2.43
    os.arch = x86
    os.name = Windows 7
    os.version = 6.1
    trustProxy = true
    active.deployment.proxy.auto.config.url = http://www.userAppX.com/proxy.pac
    active.deployment.proxy.bypass.local = false
    active.deployment.proxy.http.host = user-proxy.com
    active.deployment.proxy.http.port = 80
    active.deployment.proxy.same = false
    active.deployment.proxy.type = 3
    deployment.browser.path = C:\Program Files (x86)\Internet Explorer\iexplore.exe
    deployment.proxy.auto.config.url = http://www.userAppX.com/proxy.pac
    deployment.proxy.bypass.local = false
    deployment.proxy.http.host = user-proxy.com
    deployment.proxy.http.port = 80
    deployment.proxy.override.hosts =
    deployment.proxy.same = false
    deployment.proxy.type = 3                                                                                                                                                                                                                                                            
    deployment.security.SSLv2Hello = false
    deployment.security.SSLv3 = true
    deployment.security.TLSv1 = true
    deployment.security.TLSv1.1 = false
    deployment.security.TLSv1.2 = false
    deployment.security.authenticator = true
    deployment.security.disable = false
    deployment.security.level = HIGH
    deployment.security.mixcode = ENABLE
    PS:
    Since the JRE 1.7.0_25-b17 update, it is noticed that when the Java plugin requests for the applet File; it sends a request to the Domain Controller of the user, which causes a delay of 2 to 5 minutes and sometimes hangs.
    The problem occurs consistently, and also with JRE 1.7.0_45-b18.
    Java Plug-in 10.45.2.18
    Using JRE version 1.7.0_45-b18 Java HotSpot(TM) Client VM
    User home directory = C:\Users\userA
    c:   clear console window
    f:   finalize objects on finalization queue
    g:   garbage collect
    h:   display this help message
    l:   dump classloader list
    m:   print memory usage
    o:   trigger logging
    q:   hide console
    r:   reload policy configuration
    s:   dump system and deployment properties
    t:   dump thread list
    v:   dump thread stack
    x:   clear classloader cache
    0-5: set trace level to <n>
    cache: Initialize resource manager: com.sun.deploy.cache.ResourceProviderImpl@134a33d
    basic: Added progress listener: sun.plugin.util.ProgressMonitorAdapter@1971f66
    basic: Plugin2ClassLoader.addURL parent called for https://myAppletHost.com/download/myApplet.jar
    network: Connecting https://myAppletHost.com/download/myApplet.jar with proxy=HTTP @ user-proxy.com/194.xxx.xx.xx:80
    network: Server https://myAppletHost.com/download/myApplet.jar requesting to set-cookie with "BCSI-CS-f797d4d262467220=2; Path=/"
    network: Connecting http://10.x.x.xx:53/ with proxy=DIRECT
    network: Connecting http://10.x.x.xx:53/ with proxy=DIRECT
                    (##THE ABOVE REQUEST CAUSES THE DELAY AND SOMETIMES HANGS##)

    My organization is experiencing very similar problems.  We have resolved it through several steps.
    We upgraded the client to Java 8 and we saw in the console that the hanging connection with the Domain Controller no longer occurs.  This may be all that is necessary for your environment as well. 

  • How do I set up a 2 column fixed, left sidebar... in CC Dreamweaver based on one of the 16 samples in Dreamweaver CS5?

    I am in Graphic Design school and we are studying Dreamweaver CS5.  One of the projects is to create a new page based on one of the 16 samples available which is the 2 column, fixed, left sidebar, header and footer option.
    However, in CC Dreamweaver, I only see the 2 column, fixed, right sidebar option.

    Change line 62 to
    float: left;

  • HOw to run the Applet in dos mode

    how to run the applet in Command Prompt(DOS).
    I have save this in directory D/vijay/javap/A.java and my JDK is in C drive.
    Plz send me reply as soon as possible.
    My code is :-
    import java.applet.*;
    import java.awt.*;
    public class A extends Applet
    private int w, h;
    public void init( )
         w = 45;
         h = 50;
    public void paint(Graphics g)
         g.drawRect(w, h, 20, 80);
    }

    import java.applet.*;
    import java.awt.*;
    public class A extends Applet
    private int w, h;
    public void init( )
    w = 45;
    h = 50;
    public void paint(Graphics g)
    g.drawRect(w, h, 20, 80);
    <applet class="A" height="200" width="200" code="A.class">
    </applet>
    */And in command prompt
    javac A.java
    appletviewer A.java
    Message was edited by:
    passion_for_java

Maybe you are looking for

  • I need help with TransparentBackgrounds for a school project

    So i had found the transparentBackground class * @(#)TransparentBackground.java * @author * @version 1.00 2010/2/26 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.image.*; import java.text.NumberFormat; public class

  • Why do my app store settings change because i have just changed my country of residence?

    I have recently relocated to India and just figured out that my settings do not change to indian settings which are on the app store ... According to the web it says i have to change/ create a new account in order to avail of the indian app store ...

  • Images missing in Dreamweaver CS5 CIB Lesson 4

    Images are missing from the CD in Dreamweaver CS5 CIB, lesson 4. I've used the CIB series for InDesign, Photoshop, Flash and Illustrator, and I've never had this problem. Where and how can I get the images, if this is possible? I'm using Windows 7.

  • Query Group and Authorization group is different

    Hi, In Authorization screen, it allowed to authorize up to 20 query group. Whereas in Query Category window, it has only max 15 query group. For future patch, is it possible to have matched query groups? Thanks. Regards, MH

  • Dbca - stuck in the same state

    I am trying to create a database using dbca and it is at 60% mark for a quite long time and it is in the creating and starting oracle instance completing database creation Oracle 9.2 Message was edited by: user447089