About the read from http request, I think it is a bug in weblogic

Hi guys,
sorry for the previous post, I press the wrong button, I didn't finished yet.
I have experienced a problem when I try to read from http request in a web application.
the following is my code:
InputStreamReader isr = new InputStreamReader(new URL("www.myhost.com").openStream(),"8859_1");
BufferedReader bfr = new BufferedReader(isr);
String request = "";
while((request = bfr.readLine()) != null)
stringGotFromServer += request;
the problem is it always hang in there when BufferdReader reach the end.
but in java specification, BufferedReader should reture null if reaching the
end.
Does anyone have any good idea for that?
Thanks in advance.

Hi,
I think if you follow the instructions as given in the example you will not have any problems.
here are the instructions below
"This example code demonstrates one technique of handling test failures.
If this step fails, a dialog will be displayed giving options to Break, Terminate, or Retry.
The On Fail Post Action calls the HandleTestFailure sequence which is
another sequence in this sequence file.
The sequence file has the SequenceFilePreStep Callback overridden where
the initial statue of Runstate.SequenceFailed is stored in a local variable. Create a local variable in your sequence called SequenceAlreadyFailed which is a boolen.
To use this in your sequence file:
1. Copy the HandleTestFailure sequence to your sequence file.
2. For a step to use this, you
must set the On Fail Post Action to call the
HandleTestFailure sequence.
3. Override the PreStepCallback.
4. Copy the step from this example's PreStepCallback to yours.
5. Copy the TestFailureDialog.* files to the same directory as your sequence file.

Similar Messages

  • Read of HTTP Request POST parameters failed:Read timed out

    Hi !
    Any one seen this exception . any ideas of the cause?
    java.lang.RuntimeException: Read of HTTP Request POST parameters failed: Read timed out
    at org.apache.catalina.connector.HttpRequestBase.parseParameters(HttpRequestBase.j ava:665)
    at org.apache.catalina.connector.HttpRequestBase.getParameterValues(HttpRequestBase.java :737)
    at org.apache.catalina.connector.RequestFacade.getParameterValues(RequestFacade.java:170 )
    Thanks,

    Assuming there is nothing wrong with
    org.apache.catalina.connector.HttpRequestBase.parseParameters
    I can only think of 2 things:
    1. The timeout is set for an extremely short time in the Apache settings (server.xml의)
    2. The client application is sending the POST verry slow or incorrect. For example the
    client says that the POST is 500 long than sends 200 and leaves the connection open.
    You can try and post the following:
    request.txt:
    POST /somePath/somefile.js HTTP/1.1
    Host: localhost:44
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.5) Gecko/20041217
    Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 45
    depreciatedButWontPostWithoutAName=some+valueThe client sending the request:
    import java.io.*;
    import java.net.*;
    import java.io.DataOutputStream;
    import java.applet.Applet;
    public class appTest extends Applet implements Runnable {
         public static final int HTTP_PORT = 80;
         public static final String hostName = "localhost";
         public void run() {
              try{
                   InetAddress addr = InetAddress.getByName(hostName);
                   Socket s = new Socket(addr,HTTP_PORT);
                   BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(s.getOutputStream(), "UTF8"));
                   s.setSoTimeout(2000);
                   File fileToSend = new File("request.txt");
                   FileInputStream fleHTML = new FileInputStream(fileToSend);
                   StringBuffer sbHTMFile = new StringBuffer();
                   int b = fleHTML.read();
                   while(b!=-1){
                        sbHTMFile.append((char) b);
                        b = fleHTML.read();
                   wr.write(sbHTMFile.toString());
                   wr.flush();
                   BufferedReader rd = new BufferedReader(new InputStreamReader(s.getInputStream()));
                   String line;
                   while ((line = rd.readLine()) != null) {
                        System.out.println(line);
                   wr.close();
                   rd.close();
                   } catch (Exception e) {
                        e.printStackTrace();
         public void init(){
              new Thread(this).start();
         public appTest(){
              new Thread(this).start();
         // main program
         public static void main(String argv[]) throws Exception {
              new appTest();
    }In appTest.java change HTTP_PORT to the port you need and hostName to the
    hostname you need.
    In request.txt change the /somePath/somefile.js to the location you desire.
    And change Host: localhost:44 to the hostname and post you desire.

  • Where could i find information about the state of my request to change my ipod nano 1st gen?

    my ipod 1st gen is part of the program of replacement, but i dont know where i can find information about the state of my request. some ideas?   

    You can enter the Serial Number and Repair ID on this page to get a stsus update:
    https://selfsolve.apple.com/repairstatus/main.do;jsessionid=0phLTksW2mwLbyQVF3Qs zFtCQMH2Jv5xkMxvMlD6RsKVLhpJjpjj!846893301
    Hope that helps!

  • Hi, is there a support for development ? I have a idear for a docking station. But i want to know some more details about the licence from apple and so on. Is there a special call center ??

    Hi, is there a support for development ? I have a idear for a docking station. But i want to know some more details about the licence from apple and so on. Is there a special call center or can i call the normal support for my country ???

    For liscensing of iOS related hardware? You'd need to contact the Made For iPod Program.
    <http://developer.apple.com/ipod/>
    Their contact address is <[email protected]>

  • I just found out about the switch from Elements to Adobe Revel. HELP

    I do not want to spend any money  on something I rarely use. I also do not want to grant "rights" to any person or corporation for my family pictures.
    Will I need to delete my account?.

    Hi. There is not a switch from Elements. The switch is from Photoshop.com to Revel. Elements will work as it always did with the exception of communicating with Photoshop.com sharing and storage since that service is being discontinued.
    In additon, Revel is free as long as you don't want to upload more than 50 files a month.
    Check out these FAQ's and try Revel. After that, if you do not want your account, we can delete it.
    Pattie
    Forum for users moving from PS.com to Revel:
    forums.adobe.com/community/ps.com_sharing_and_storage
    Forum FAQ's:
    forums.adobe.com/community/ps.com_sharing_and_storage/faq
    Forum for Revel users:
    forums.adobe.com/community/revel
    FAQ's about the transition from Photoshop.com to Revel:
    http://www.photoshop.com/misc/membership-faq
    FAQ's about Revel and subscriptions:
    http://www.adobe.com/products/revel/faq.html
    Elements organizer/Revel Help:
    http://helpx.adobe.com/elements-organizer/using/revel.html
    Getting Started with Revel:
    http://www.adobe.com/support/revel/gettingstarted/revel_gs.html
    SHARE
    FAQ: How do I share my photos in Revel?
    http://forums.adobe.com/message/5092831#5092831
    UPLOAD
    FAQ: How do I add (upload) files to Revel?
    http://forums.adobe.com/thread/1162795?tstart=0
    DOWNLOAD
    FAQ: How Do I Download files from Revel?
    http://forums.adobe.com/thread/1166462?tstart=0
    EDIT
    FAQ: How do I edit photos in Revel?
    http://forums.adobe.com/message/5088287#5088287
    DELETE
    FAQ? How do I delete a file in Revel?
    http://forums.adobe.com/thread/1162793?tstart=0
    SUBSCRIBE TO REVEL PREMIUM
    FAQ: How do I sign up for Revel Premium?
    http://forums.adobe.com/thread/1178780?tstart=0

  • Gettting information about the processInstance from BPMObject

    To have our businesslogic manageable, we decided to make use of BPMObjects to more clearly define separation of concerns. However, we still need to be able to access information about the processInstance from the BPMObject. I am able to get information about the activity that invoked the bpmObject, and i am also able to get hold of the process id and name. But I havent been successful in getting the actual instanceId.
    I tried Fuego.Lib.ProcessInstance.id.id, but that will only work from an activity, not a BPMObject.
    BR
    Peter Elfström

    To have our businesslogic manageable, we decided to make use of BPMObjects to more clearly define separation of concerns. However, we still need to be able to access information about the processInstance from the BPMObject. I am able to get information about the activity that invoked the bpmObject, and i am also able to get hold of the process id and name. But I havent been successful in getting the actual instanceId.
    I tried Fuego.Lib.ProcessInstance.id.id, but that will only work from an activity, not a BPMObject.
    BR
    Peter Elfström

  • How to read two text files using the Read from spreadsheet.vi and then plot it

    I need to read two text files using the read from spreadsheet function and then plot these files over time.
    The file with the .res extention is the RMS values (dt and df) and the second file contains the amplitude of a frequency spectrum.
    I really appreciate any help..thanks
    Attachments:
    RMS.txt ‏1 KB
    FREQUENCY.txt ‏1 KB

    From NI Example Finder:
    Write to Text File.vi
    Read from Text File.vi
    Jean-Marc
    LV2009 and LV2013
    Free PDF Report with iTextSharp

  • Maintaining the state between http requests

    All of the SDK examples perform a login followed by a logout.
    The Content dhtml applets require a login, after which the login is no longer required until either the session is closed or the timeout period has expired.
    In the SDK java examples, WsConnection is used to perform the login.
    Using the SDK, how do I maintain the session across http requests?
    How do I determine whether the session has timed out?

    Session state across http requests is automatically taken care of when you use the classes like WsConnection or ContentServicesSession in the sample tool kit. The session is valid until the time out happens(due to inactive session) or the client issues a logout command. It is possible to keep the session alive for longer time by using SessionManager.keepAlive() for long running transactions.
    To check whether the session is available or not you can issue a simple command like FileManager.resolvePath("/",null). If this call throws a session not connected exception ,you know that the current session is invalid.
    Hope this helps,
    Ravikiran

  • THinking about the switch from PC to Mac Pro

    I'm looking at a configuration of two 2.8 quad-core with 2 gb ram from Apple, 6 gb ram from 3rd party, a single 750 SATA drive and Final Cut 2 Studio, and running VMWare Fusion for running Windows apps, and software development tools (Windows world). I have been doing a fair amount of video editing/processing, and see that growing - between this increase, and Windows Vista, I think the Mac world may be my best choice - I would run the Windows apps under Windows XP.
    The Apple Store recommended going with 2 x ATI Radeon HD 2600 XT 256MB cards - I will be running with dual monitors, and the biggest demand will come from Final Cut 2. Is there a better choice to be made for the money?
    Anybody see any flags raised by what I say I want to do, and the hardware I'm thinking about?
    I debated the value in the second Quad core - whether the Final Cut 2 Studio software was written to take adavantage of multiple cores. I'm leaning toward the second quad core since the studio is most likely separate apps, and there might be some benefit provided the second quad core via the OS. Any thoughts on this?
    The Ram and hard drives are too pricey from Apple - any suggestions on good third party supplier for the ram chips - I know they need to meet the Apple specs, but assume some mfgs have had a better production/quality history than others.
    Any input on this is appreaciated.
    Michael

    Hatter,
    The configuration is close - I like both of your suggestions on the graphics card and the boot drive - Apple won't add the Radeon 3870 card, nor the Velocity Raptor drive. So, if I buy the 3870 and Velocity Raptor from OWC, there is a decision I would have to make with regard to what I buy from Apple.
    I'd like to continue the process, listing my thoughts, hoping to get more good feedback.
    I'm leaning towards buying Apple's standard graphics card (Radeon 2600), and use it for lower demand activities - I figure I can always upgrade it at a later date if the performance is frustrating - I'll have a good comparison with the 3870, so the contrast should be apparent. I'm thinking about the standard 320 g drive, since the extra cost ($50 for 500g, or $150 for 750g) doesn't make sense with the Caviar Black priced at ~$150.
    So, I would be getting a machine with the OS sitting on the 320g drive. *Is there a good strategy for adding the Velocity Raptor, making it my boot drive?*
    I'm assuming I will get the OS on disc - is this true?
    Lastly, I'm looking at the timing of purchasing. I debated on waiting to buy until after MacWorld 2009, but plan on buying prior to the event. My thought was to avoid any issues that come with new releases - adding another layer of issues without knowing what is "normal behavior" isn't worth the increased functionality. In the PC world, sales abound at the end of quarter, and prior to new release. *Is it worth waiting a little while hoping Apple will discount the Mac Pro? Or is this unlikely??*
    Again, thanks for all of the great suggestions.
    Michael

  • Can any body help me in reading from HTTPS URL

    I need to read an HTTPS URL and store the response within a table .
    How will I manage to do it from within a servlet using URLConnection and openStream as it does'nt work .
    How will JSSE help in this regard .
    Since I also need to give the userid and password to get into the file and read the file
    https://anyhost.com/readthisfile.html
    somnath
    Web Developer

    Hi,
    The Java Secure Socket Extension (JSSE) library from Sun Microsystems lets you access a secure Web server from behind a firewall via
    proxy tunneling. To do this, the JSSE application needs to set the https.ProxyHost and https.ProxyPort system properties. The
    tunneling code in JSSE checks for "HTTP 1.0" in the proxy's response. If your proxy, like many, returns "HTTP 1.1", you will get an
    IOException. In this case, you need to implement your own HTTPS tunneling protocol.
    In this article, I will show you how to create a secure socket that tunnels through the firewall, and pass it to the HTTPS stream handler to
    open HTTPS URLs using the URLConnection class.
    Open the http tunnel socket to the proxy
    The first step to creating your secure socket is to open the tunneling socket to the proxy port. The code needed to do this proxy
    handshaking can be found in the sample code SSLClientSocketWithTunneling.java that comes with the JSSE distribution. First, a normal socket is created that connects to
    the proxy port on the proxy host (line 65). After the socket is created, it is passed to the doTunnelHandshake() method where the proxy's tunneling protocol is called:
    54 SSLSocketFactory factory =
    55 (SSLSocketFactory)SSLSocketFactory.getDefault();
    56
    57 /*
    58 * Set up a socket to do tunneling through the proxy.
    59 * Start it off as a regular socket, then layer SSL
    60 * over the top of it.
    61 */
    62 tunnelHost = System.getProperty("https.proxyHost");
    63 tunnelPort = Integer.getInteger("https.proxyPort").intValue();
    64
    65 Socket tunnel = new Socket(tunnelHost, tunnelPort);
    66 doTunnelHandshake(tunnel, host, port);
    In doTunnelHandshake(), an http "CONNECT" command is sent to the proxy, with the secure site's hostname and port number as the parameters (line 161). In the original
    tunneling code on line 206 in JSSE, it then checks for "HTTP/1.0 200" in the proxy's reply. If your organization's proxy replies with "HTTP 1.1", an IOException will be
    thrown. To get around this, the code here checks for the reply "200 Connection Established", which indicates that tunneling is successful (line 207). You can modify the
    code to check for the expected corresponding response from your proxy:
    139 private void doTunnelHandshake(Socket tunnel, String host, int port)
    140 throws IOException
    141 {
    142 OutputStream out = tunnel.getOutputStream();
    143 String msg = "CONNECT " + host + ":" + port + " HTTP/1.0\n"
    144 + "User-Agent: "
    145 + sun.net.www.protocol.http.HttpURLConnection.userAgent
    146 + "\r\n\r\n";
    147 byte b[];
    148 try {
    149 /*
    150 * We really do want ASCII7 -- the http protocol doesn't change
    151 * with locale.
    152 */
    153 b = msg.getBytes("ASCII7");
    154 } catch (UnsupportedEncodingException ignored) {
    155 /*
    156 * If ASCII7 isn't there, something serious is wrong, but
    157 * Paranoia Is Good (tm)
    158 */
    159 b = msg.getBytes();
    160 }
    161 out.write(b);
    162 out.flush();
    163
    164 /*
    165 * We need to store the reply so we can create a detailed
    166 * error message to the user.
    167 */
    168 byte reply[] = new byte[200];
    169 int replyLen = 0;
    170 int newlinesSeen = 0;
    171 boolean headerDone = false; /* Done on first newline */
    172
    173 InputStream in = tunnel.getInputStream();
    174 boolean error = false;
    175
    176 while (newlinesSeen < 2) {
    177 int i = in.read();
    178 if (i < 0) {
    179 throw new IOException("Unexpected EOF from proxy");
    180 }
    181 if (i == '\n') {
    182 headerDone = true;
    183 ++newlinesSeen;
    184 } else if (i != '\r') {
    185 newlinesSeen = 0;
    186 if (!headerDone && replyLen < reply.length) {
    187 reply[replyLen++] = (byte) i;
    188 }
    189 }
    190 }
    191
    192 /*
    193 * Converting the byte array to a string is slightly wasteful
    194 * in the case where the connection was successful, but it's
    195 * insignificant compared to the network overhead.
    196 */
    197 String replyStr;
    198 try {
    199 replyStr = new String(reply, 0, replyLen, "ASCII7");
    200 } catch (UnsupportedEncodingException ignored) {
    201 replyStr = new String(reply, 0, replyLen);
    202 }
    203
    204 /* We check for Connection Established because our proxy returns
    205 * HTTP/1.1 instead of 1.0 */
    206 //if (!replyStr.startsWith("HTTP/1.0 200")) {
    207 if(replyStr.toLowerCase().indexOf(
    208 "200 connection established") == -1){
    209 throw new IOException("Unable to tunnel through "
    210 + tunnelHost + ":" + tunnelPort
    211 + ". Proxy returns \"" + replyStr + "\"");
    212 }
    213
    214 /* tunneling Handshake was successful! */
    215 }
    Overlay http tunnel socket with SSL socket
    After you have successfully created the tunneling socket, you overlay it with the SSL socket. Again, this is not difficult to do:
    54 SSLSocketFactory factory =
    55 (SSLSocketFactory)SSLSocketFactory.getDefault();
    56
    57 /*
    58 * Set up a socket to do tunneling through the proxy.
    59 * Start it off as a regular socket, then layer SSL
    60 * over the top of it.
    61 */
    62 tunnelHost = System.getProperty("https.proxyHost");
    63 tunnelPort = Integer.getInteger("https.proxyPort").intValue();
    64
    65 Socket tunnel = new Socket(tunnelHost, tunnelPort);
    66 doTunnelHandshake(tunnel, host, port);
    67
    68 /*
    69 * Ok, let's overlay the tunnel socket with SSL.
    70 */
    71 SSLSocket socket =
    72 (SSLSocket)factory.createSocket(tunnel, host, port, true);
    73
    74 /*
    75 * register a callback for handshaking completion event
    76 */
    77 socket.addHandshakeCompletedListener(
    78 new HandshakeCompletedListener() {
    79 public void handshakeCompleted(
    80 HandshakeCompletedEvent event) {
    81 System.out.println("Handshake finished!");
    82 System.out.println(
    83 "\t CipherSuite:" + event.getCipherSuite());
    84 System.out.println(
    85 "\t SessionId " + event.getSession());
    86 System.out.println(
    87 "\t PeerHost " + event.getSession().getPeerHost());
    88 }
    89 }
    90 );
    The code had called the SSLSocketFactory's getDefault() method earlier to get an instance of the SSLSocketFactory (line 54, repeated above). Next, it passes the
    tunneling socket that was created in the previous step to the createSocket() method of the SSLSocketFactory. The createSocket() method returns an SSLSocket that is
    connected to the destination host and port via the proxy tunnel. You can optionally add a HandshakeCompletedListener to the socket if you wish to be informed when the
    SSL handshaking is completed.
    The SSLSocket created is basically ready for use to transfer secure contents. The startHandshake() method is called to start the SSL handshaking (line 98). After which, you
    can issue the http "GET" command to retrieve the secure pages (line 105):
    91
    92 /*
    93 * send http request
    94 *
    95 * See SSLSocketClient.java for more information about why
    96 * there is a forced handshake here when using PrintWriters.
    97 */
    98 socket.startHandshake();
    99
    100 PrintWriter out = new PrintWriter(
    101 new BufferedWriter(
    102 new OutputStreamWriter(
    103 socket.getOutputStream())));
    104
    105 out.println("GET http://www.verisign.com/index.html HTTP/1.0");
    106 out.println();
    107 out.flush();
    However, issuing http commands to the tunneling SSL socket to access Webpages is not ideal because it would mean having to rewrite the whole http protocol handler from
    scratch. Instead, you should use the HTTPS URL APIs that the JSSE already includes for that purpose. To do this, you have to pass the tunneling SSL socket to the HTTPS URL
    stream handler.
    Pass SSL socket to HTTPS URL stream handler
    The JSSE library has an HttpsURLConnection class that is in the com.sun.net.ssl package, which extends the java.net.URLConnection class. An HttpsURLConnection object
    is returned by the URL object's openConnection() method when "HTTPS" is specified as the protocol. The HttpsURLConnection class has a method, setSSLSocketFactory(),
    that lets you set an SSLSocketFactory of your choice. To pass the tunneling SSL socket to the HTTPS URL stream handler, you would set the setSSLSocketFactory()
    method's parameter with a socket factory that returns the tunneling SSL socket that you created previously.
    To do this, you would wrap the code discussed previously in an SSLTunnelSocketFactory class that extends from the SSLSocketFactory class. The SSLSocketFactory is an
    abstract class. To extend it, you must implement the createSocket() method to return the tunneling SSL socket that you created earlier:
    12 public SSLTunnelSocketFactory(String proxyhost, String proxyport){
    13 tunnelHost = proxyhost;
    14 tunnelPort = Integer.parseInt(proxyport);
    15 dfactory = (SSLSocketFactory)SSLSocketFactory.getDefault();
    16 }
    44 public Socket createSocket(Socket s, String host, int port,
    45 boolean autoClose)
    46 throws IOException,UnknownHostException
    47 {
    48
    49 Socket tunnel = new Socket(tunnelHost,tunnelPort);
    50
    51 doTunnelHandshake(tunnel,host,port);
    52
    53 SSLSocket result = (SSLSocket)dfactory.createSocket(
    54 tunnel,host,port,autoClose);
    55
    56 result.addHandshakeCompletedListener(
    57 new HandshakeCompletedListener() {
    58 public void handshakeCompleted(HandshakeCompletedEvent event) {
    59 System.out.println("Handshake finished!");
    60 System.out.println(
    61 "\t CipherSuite:" + event.getCipherSuite());
    62 System.out.println(
    63 "\t SessionId " + event.getSession());
    64 System.out.println(
    65 "\t PeerHost " + event.getSession().getPeerHost());
    66 }
    67 }
    68 );
    69
    70 result.startHandshake();
    71
    72 return result;
    73 }
    Notice that the SSLTunnelSocketFactory contains a default SSLSocketFactory object. The default SSLSocketFactory object can be instantiated from a call to the static
    method getDefault() (line 15). You need this SSLSocketFactory object to overlay the tunnel socket with the SSL socket, as discussed earlier. You also call the default
    object's getDefaultCipherSuites() and getSupportedCipherSuites() methods when implementing the corresponding abstract methods of the SSLSocketFactory super
    class. For implementation details, please refer to the complete source code for the SSLTunnelSocketFactory in Resources.
    Tunnel through the proxy via URLConnection
    To tunnel through the proxy via URLConnection in your JSSE application, after you call the openConnection() method, check if the returned object is that of the
    HttpsURLConnection. If so, you instantiate your SSLTunnelSocketFactory object and set it in the setSSLSocketFactory() method (lines 22 through 25):
    10 public class URLTunnelReader {
    11 private final static String proxyHost = "proxy.sg.ibm.com";
    12 private final static String proxyPort = "80";
    13
    14 public static void main(String[] args) throws Exception {
    15 System.setProperty("java.protocol.handler.pkgs",
    16 "com.sun.net.ssl.internal.www.protocol");
    17 //System.setProperty("https.proxyHost",proxyHost);
    18 //System.setProperty("https.proxyPort",proxyPort);
    19
    20 URL verisign = new URL("https://www.verisign.com");
    21 URLConnection urlc = verisign.openConnection(); //from secure site
    22 if(urlc instanceof com.sun.net.ssl.HttpsURLConnection){
    23 ((com.sun.net.ssl.HttpsURLConnection)urlc).setSSLSocketFactory
    24 (new SSLTunnelSocketFactory(proxyHost,proxyPort));
    25 }
    26
    27 BufferedReader in = new BufferedReader(
    28 new InputStreamReader(
    29 urlc.getInputStream()));
    30
    31 String inputLine;
    32
    33 while ((inputLine = in.readLine()) != null)
    34 System.out.println(inputLine);
    35
    36 in.close();
    37 }
    38 }
    You can then access the HTTPS URLs using the APIs provided by the URLConnection class. You don't need to worry about the format of the http GET and POST commands,
    which you would if you used the SSL Socket APIs.
    The complete source code for the SSLTunnelSocketFactory and the application code that connects to a secure URL using proxy tunneling is included in Resources. To
    compile and run the application, you would need to download and install Sun's JSSE from its Website, also listed in Resources.
    Conclusion
    If your JSSE application could not tunnel through your organization's firewall, you need to implement your own tunneling socket. The sample code included with the JSSE
    distribution shows you how to open an SSL socket tunnel. This article goes one step further to show you how to pass the tunneling socket to the HTTPS URL stream handler,
    and saves you the trouble of rewriting a http handler
    I hope this will help you.
    Thanks
    Bakrudeen

  • Weblogic 6.0 : Server hangs while reading a https request

    Hi,
    I'm running WLS6.0 on Win2000. The server hangs for some requests sent over https,
    unless it times out. It seems that the server is not able to read the complete request
    from the socket. It somehow thinks that there is more data available and keeps on
    waiting. Is this a bug?
    Also, it works fine if i change the url from a https to a http one. So, is this
    related to SSL implementation of weblogic?
    Has any of faced a similar problem? Thanks in advance for any ideas/thoughts on this
    problem,
    Thakur.
    The stacktrace is as follows :
    Full thread dump Classic VM (1.3.0-C, native threads):
    "tavant.bus.PurgeStaleDataTask" (TID:0x10ce268, sys_thread_t:0x9e73fc0, state:CW,
    native ID:0
    x728) prio=5
    at java.lang.Thread.sleep(Native Method)
    at tavant.bus.HouseKeepingTask.run(HouseKeepingTask.java:63)
    at java.lang.Thread.run(Thread.java:484)
    "tavant.bus.MsgHistTask" (TID:0x10cd3a0, sys_thread_t:0x9e73de8, state:CW, native
    ID:0x10c) p
    rio=5
    at java.lang.Thread.sleep(Native Method)
    at tavant.bus.HouseKeepingTask.run(HouseKeepingTask.java:63)
    at java.lang.Thread.run(Thread.java:484)
    "tavant.bus.MsgNotificationTask" (TID:0x10cd158, sys_thread_t:0x9fbda70, state:CW,
    native ID:
    0x514) prio=5
    at java.lang.Thread.sleep(Native Method)
    at tavant.bus.HouseKeepingTask.run(HouseKeepingTask.java:63)
    at java.lang.Thread.run(Thread.java:484)
    "SSLListenThread" (TID:0xc68510, sys_thread_t:0x9dc3b20, state:R, native ID:0x408)
    prio=5
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:276)
    at java.net.ServerSocket.implAccept(ServerSocket.java:241)
    at java.net.ServerSocket.accept(ServerSocket.java:222)
    at weblogic.security.SSL.SSLServerSocket.acceptNoHandshake(SSLServerSocket.java:123)
    at weblogic.security.SSL.SSLServerSocket.accept(SSLServerSocket.java:114)
    at weblogic.t3.srvr.ListenThread.run(ListenThread.java:244)
    "ListenThread" (TID:0xc65ce0, sys_thread_t:0x9dc3960, state:R, native ID:0x2d8)
    prio=5
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:276)
    at java.net.ServerSocket.implAccept(ServerSocket.java:241)
    at java.net.ServerSocket.accept(ServerSocket.java:222)
    at weblogic.t3.srvr.ListenThread.run(ListenThread.java:244)
    "Application Manager Thread" (TID:0xfaf738, sys_thread_t:0x9dd07a8, state:CW,
    native ID:0x5a4
    ) prio=5
    at java.lang.Thread.sleep(Native Method)
    at weblogic.management.mbeans.custom.ApplicationManager$ApplicationPoller.run(Application
    Manager.java:643)
    "TimeEventGenerator" (TID:0xa68020, sys_thread_t:0x9070890, state:CW, native
    ID:0x4e0) prio=5
    at java.lang.Object.wait(Native Method)
    at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:259)
    at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:138)
    at java.lang.Thread.run(Thread.java:484)
    "TimeEventGenerator" (TID:0xa3e480, sys_thread_t:0x9071c10, state:CW, native
    ID:0x138) prio=5
    at java.lang.Object.wait(Native Method)
    at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:259)
    at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:138)
    at java.lang.Thread.run(Thread.java:484)
    "SpinnerRandomSource" (TID:0xa37340, sys_thread_t:0x9050ba0, state:CW, native
    ID:0x594) prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.security.SpinnerThread.stopSpinning(SpinnerRandomBitsSource.java:92)
    at weblogic.security.SpinnerThread.run(SpinnerRandomBitsSource.java:109)
    "ExecuteThread-14" (TID:0xa316e0, sys_thread_t:0x90502f0, state:CW, native ID:0x658)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-13" (TID:0xa317c0, sys_thread_t:0x9050180, state:CW, native ID:0x564)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-12" (TID:0xa315f0, sys_thread_t:0x9050010, state:R, native ID:0x52c)
    prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:42)
    at java.net.SocketInputStream.read(SocketInputStream.java:59)
    at weblogic.utils.io.ChunkedInputStream.read(ChunkedInputStream.java:130)
    at weblogic.security.SSL.SSLSocket$WLPushbackInputStream.read(SSLSocket$WLPushbackInputStream.java:35)
    at weblogic.security.Utils.inputByte(Utils.java:131)
    at weblogic.security.SSL.ContentType.input(ContentType.java:50)
    at weblogic.security.SSL.SSLCiphertext.input(SSLCiphertext.java:61)
    at weblogic.security.SSL.SSLSocket.getRecord(SSLSocket.java:1002)
    at weblogic.security.SSL.RecordInputStream.getData(RecordInputStream.java:109)
    at weblogic.security.SSL.RecordInputStream.available(RecordInputStream.java:166)
    at weblogic.servlet.internal.PostInputStream.available(PostInputStream.java:146)
    at weblogic.servlet.internal.ServletInputStreamImpl.available(ServletInputStreamImpl.java:21)
    at java.io.InputStreamReader.inReady(InputStreamReader.java:199)
    at java.io.InputStreamReader.fill(InputStreamReader.java:171)
    at java.io.InputStreamReader.read(InputStreamReader.java:249)
    at java.io.BufferedReader.fill(BufferedReader.java:139)
    at java.io.BufferedReader.read1(BufferedReader.java:187)
    at java.io.BufferedReader.read(BufferedReader.java:261)
    at weblogic.servlet.internal.ServletRequestImpl.mergePostParams(ServletRequestImpl.java:596)
    at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(ServletRequestImpl.java:501)
    at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(ServletRequestImpl.java:494)
    at weblogic.servlet.internal.ServletRequestImpl.getParameterNames(ServletRequestImpl.java:649)
    at tavant.web.URLGen.<init>(URLGen.java:51)
    at tavant.web.MainServlet.processRequest(MainServlet.java:189)
    at tavant.web.MainServlet.doPost(MainServlet.java:172)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:208)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:1127)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1529)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-11" (TID:0xa31520, sys_thread_t:0x9060b48, state:CW, native ID:0x718)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-10" (TID:0xa31500, sys_thread_t:0x90609d8, state:CW, native ID:0x768)
    prio=5
    at java.lang.Object.wait(Native Method)
    at weblogic.common.internal.DynaQueue.getW(DynaQueue.java:228)
    at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:246)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:23)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-9" (TID:0xa31330, sys_thread_t:0x9060868, state:CW, native ID:0x460)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-8" (TID:0xa31170, sys_thread_t:0x90606f8, state:CW, native ID:0x3a8)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-7" (TID:0xa31250, sys_thread_t:0x9060588, state:CW, native ID:0x754)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-6" (TID:0xa31080, sys_thread_t:0x90604a0, state:CW, native ID:0x600)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-5" (TID:0xa30eb0, sys_thread_t:0x8fd1638, state:CW, native ID:0x500)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-4" (TID:0xa30f98, sys_thread_t:0x8fd14c8, state:CW, native ID:0x5b8)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-3" (TID:0xa30dc8, sys_thread_t:0x8fd1358, state:CW, native ID:0x4b4)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-2" (TID:0xa30c00, sys_thread_t:0x901f8c8, state:CW, native ID:0x798)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-1" (TID:0xa30ce0, sys_thread_t:0x901f758, state:CW, native ID:0x88)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-0" (TID:0xa308d0, sys_thread_t:0x901f670, state:CW, native ID:0x3a0)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "Thread-0" (TID:0x85a238, sys_thread_t:0x8fb5088, state:CW, native ID:0x744)
    prio=10
    at java.lang.Thread.sleep(Native Method)
    at weblogic.transaction.internal.TransactionManagerImpl$1.run(TransactionManagerImpl.java:737)
    at java.lang.Thread.run(Thread.java:484)
    "Finalizer" (TID:0x7b0528, sys_thread_t:0x89fa088, state:CW, native ID:0x5c4)
    prio=8
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:108)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:123)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:162)
    "Reference Handler" (TID:0x7b0300, sys_thread_t:0x89f6148, state:CW, native ID:0x690)
    prio=10
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:110)
    "Signal dispatcher" (TID:0x7b0330, sys_thread_t:0x89ef5f8, state:R, native ID:0x5ac)
    prio=5
    "main" (TID:0x7b01a0, sys_thread_t:0x235328, state:CW, native ID:0x788) prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.t3.srvr.T3Srvr.waitForDeath(T3Srvr.java:498)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:171)
    at weblogic.Server.main(Server.java:35)
    Monitor Cache Dump:
    weblogic.kernel.ExecuteThread@A316E0/22C7E48: <unowned>
    Waiting to be notified:
    "ExecuteThread-14" (0x90502f0)
    weblogic.kernel.ExecuteThread@A30CE0/22C5268: <unowned>
    Waiting to be notified:
    "ExecuteThread-1" (0x901f758)
    weblogic.kernel.ExecuteThread@A308D0/22C4DD0: <unowned>
    Waiting to be notified:
    "ExecuteThread-0" (0x901f670)
    weblogic.kernel.ExecuteThread@A30EB0/22C6028: <unowned>
    Waiting to be notified:
    "ExecuteThread-5" (0x8fd1638)
    weblogic.kernel.ExecuteThread@A31080/22C6398: <unowned>
    Waiting to be notified:
    "ExecuteThread-6" (0x90604a0)
    weblogic.kernel.ExecuteThread@A31250/22C6708: <unowned>
    Waiting to be notified:
    "ExecuteThread-7" (0x9060588)
    java.io.InputStreamReader@FEAB90/3DD57C8: owner "ExecuteThread-12" (0x9050010)
    1 entry
    weblogic.kernel.ExecuteThread@A30C00/22C55D8: <unowned>
    Waiting to be notified:
    "ExecuteThread-2" (0x901f8c8)
    java.net.PlainSocketImpl@FB1FE8/25A91C0: owner "SSLListenThread" (0x9dc3b20)
    1 entry
    weblogic.time.common.internal.TimeTable@A68270/22FF4B0: <unowned>
    Waiting to be notified:
    "TimeEventGenerator" (0x9070890)
    weblogic.kernel.ExecuteThread@A317C0/22C7B38: <unowned>
    Waiting to be notified:
    "ExecuteThread-13" (0x9050180)
    weblogic.time.common.internal.TimeTable@A3E730/22CDA60: <unowned>
    Waiting to be notified:
    "TimeEventGenerator" (0x9071c10)
    java.net.PlainSocketImpl@FB1DD0/25A9110: owner "ListenThread" (0x9dc3960) 1 entry
    weblogic.kernel.ExecuteThread@A30DC8/22C5948: <unowned>
    Waiting to be notified:
    "ExecuteThread-3" (0x8fd1358)
    weblogic.kernel.ExecuteThread@A30F98/22C5CB8: <unowned>
    Waiting to be notified:
    "ExecuteThread-4" (0x8fd14c8)
    weblogic.common.internal.DynaQueue@FB97F8/25AB878: <unowned>
    Waiting to be notified:
    "ExecuteThread-10" (0x90609d8)
    weblogic.kernel.ExecuteThread@A31170/22C6A78: <unowned>
    Waiting to be notified:
    "ExecuteThread-8" (0x90606f8)
    java.lang.ref.ReferenceQueue$Lock@7B0540/214CA40: <unowned>
    Waiting to be notified:
    "Finalizer" (0x89fa088)
    weblogic.t3.srvr.T3Srvr@7C4C08/2185000: <unowned>
    Waiting to be notified:
    "main" (0x235328)
    weblogic.kernel.ExecuteThread@A31520/22C74C8: <unowned>
    Waiting to be notified:
    "ExecuteThread-11" (0x9060b48)
    weblogic.security.SpinnerThread@A37340/22CAB60: <unowned>
    Waiting to be notified:
    "SpinnerRandomSource" (0x9050ba0)
    weblogic.servlet.internal.ServletInputStreamImpl@FEB090/3DD28C8: owner "ExecuteThread-12"
    (0x9050010) 1 entry
    weblogic.kernel.ExecuteThread@A31330/22C6DE8: <unowned>
    Waiting to be notified:
    "ExecuteThread-9" (0x9060868)
    java.lang.ref.Reference$Lock@7B0310/214C560: <unowned>
    Waiting to be notified:
    "Reference Handler" (0x89f6148)
    Registered Monitor Dump:
    utf8 hash table: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class linking lock: <unowned>
    System class loader lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Monitor cache lock: owner "Signal dispatcher" (0x89ef5f8) 1 entry
    Thread queue lock: owner "Signal dispatcher" (0x89ef5f8) 1 entry
    Monitor registry: owner "Signal dispatcher" (0x89ef5f8) 1 entry

    Hi,
    I'm running WLS6.0 on Win2000. The server hangs for some requests sent over https,
    unless it times out. It seems that the server is not able to read the complete request
    from the socket. It somehow thinks that there is more data available and keeps on
    waiting. Is this a bug?
    Also, it works fine if i change the url from a https to a http one. So, is this
    related to SSL implementation of weblogic?
    Has any of faced a similar problem? Thanks in advance for any ideas/thoughts on this
    problem,
    Thakur.
    The stacktrace is as follows :
    Full thread dump Classic VM (1.3.0-C, native threads):
    "tavant.bus.PurgeStaleDataTask" (TID:0x10ce268, sys_thread_t:0x9e73fc0, state:CW,
    native ID:0
    x728) prio=5
    at java.lang.Thread.sleep(Native Method)
    at tavant.bus.HouseKeepingTask.run(HouseKeepingTask.java:63)
    at java.lang.Thread.run(Thread.java:484)
    "tavant.bus.MsgHistTask" (TID:0x10cd3a0, sys_thread_t:0x9e73de8, state:CW, native
    ID:0x10c) p
    rio=5
    at java.lang.Thread.sleep(Native Method)
    at tavant.bus.HouseKeepingTask.run(HouseKeepingTask.java:63)
    at java.lang.Thread.run(Thread.java:484)
    "tavant.bus.MsgNotificationTask" (TID:0x10cd158, sys_thread_t:0x9fbda70, state:CW,
    native ID:
    0x514) prio=5
    at java.lang.Thread.sleep(Native Method)
    at tavant.bus.HouseKeepingTask.run(HouseKeepingTask.java:63)
    at java.lang.Thread.run(Thread.java:484)
    "SSLListenThread" (TID:0xc68510, sys_thread_t:0x9dc3b20, state:R, native ID:0x408)
    prio=5
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:276)
    at java.net.ServerSocket.implAccept(ServerSocket.java:241)
    at java.net.ServerSocket.accept(ServerSocket.java:222)
    at weblogic.security.SSL.SSLServerSocket.acceptNoHandshake(SSLServerSocket.java:123)
    at weblogic.security.SSL.SSLServerSocket.accept(SSLServerSocket.java:114)
    at weblogic.t3.srvr.ListenThread.run(ListenThread.java:244)
    "ListenThread" (TID:0xc65ce0, sys_thread_t:0x9dc3960, state:R, native ID:0x2d8)
    prio=5
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:276)
    at java.net.ServerSocket.implAccept(ServerSocket.java:241)
    at java.net.ServerSocket.accept(ServerSocket.java:222)
    at weblogic.t3.srvr.ListenThread.run(ListenThread.java:244)
    "Application Manager Thread" (TID:0xfaf738, sys_thread_t:0x9dd07a8, state:CW,
    native ID:0x5a4
    ) prio=5
    at java.lang.Thread.sleep(Native Method)
    at weblogic.management.mbeans.custom.ApplicationManager$ApplicationPoller.run(Application
    Manager.java:643)
    "TimeEventGenerator" (TID:0xa68020, sys_thread_t:0x9070890, state:CW, native
    ID:0x4e0) prio=5
    at java.lang.Object.wait(Native Method)
    at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:259)
    at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:138)
    at java.lang.Thread.run(Thread.java:484)
    "TimeEventGenerator" (TID:0xa3e480, sys_thread_t:0x9071c10, state:CW, native
    ID:0x138) prio=5
    at java.lang.Object.wait(Native Method)
    at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:259)
    at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:138)
    at java.lang.Thread.run(Thread.java:484)
    "SpinnerRandomSource" (TID:0xa37340, sys_thread_t:0x9050ba0, state:CW, native
    ID:0x594) prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.security.SpinnerThread.stopSpinning(SpinnerRandomBitsSource.java:92)
    at weblogic.security.SpinnerThread.run(SpinnerRandomBitsSource.java:109)
    "ExecuteThread-14" (TID:0xa316e0, sys_thread_t:0x90502f0, state:CW, native ID:0x658)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-13" (TID:0xa317c0, sys_thread_t:0x9050180, state:CW, native ID:0x564)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-12" (TID:0xa315f0, sys_thread_t:0x9050010, state:R, native ID:0x52c)
    prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:42)
    at java.net.SocketInputStream.read(SocketInputStream.java:59)
    at weblogic.utils.io.ChunkedInputStream.read(ChunkedInputStream.java:130)
    at weblogic.security.SSL.SSLSocket$WLPushbackInputStream.read(SSLSocket$WLPushbackInputStream.java:35)
    at weblogic.security.Utils.inputByte(Utils.java:131)
    at weblogic.security.SSL.ContentType.input(ContentType.java:50)
    at weblogic.security.SSL.SSLCiphertext.input(SSLCiphertext.java:61)
    at weblogic.security.SSL.SSLSocket.getRecord(SSLSocket.java:1002)
    at weblogic.security.SSL.RecordInputStream.getData(RecordInputStream.java:109)
    at weblogic.security.SSL.RecordInputStream.available(RecordInputStream.java:166)
    at weblogic.servlet.internal.PostInputStream.available(PostInputStream.java:146)
    at weblogic.servlet.internal.ServletInputStreamImpl.available(ServletInputStreamImpl.java:21)
    at java.io.InputStreamReader.inReady(InputStreamReader.java:199)
    at java.io.InputStreamReader.fill(InputStreamReader.java:171)
    at java.io.InputStreamReader.read(InputStreamReader.java:249)
    at java.io.BufferedReader.fill(BufferedReader.java:139)
    at java.io.BufferedReader.read1(BufferedReader.java:187)
    at java.io.BufferedReader.read(BufferedReader.java:261)
    at weblogic.servlet.internal.ServletRequestImpl.mergePostParams(ServletRequestImpl.java:596)
    at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(ServletRequestImpl.java:501)
    at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(ServletRequestImpl.java:494)
    at weblogic.servlet.internal.ServletRequestImpl.getParameterNames(ServletRequestImpl.java:649)
    at tavant.web.URLGen.<init>(URLGen.java:51)
    at tavant.web.MainServlet.processRequest(MainServlet.java:189)
    at tavant.web.MainServlet.doPost(MainServlet.java:172)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:208)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:1127)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1529)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-11" (TID:0xa31520, sys_thread_t:0x9060b48, state:CW, native ID:0x718)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-10" (TID:0xa31500, sys_thread_t:0x90609d8, state:CW, native ID:0x768)
    prio=5
    at java.lang.Object.wait(Native Method)
    at weblogic.common.internal.DynaQueue.getW(DynaQueue.java:228)
    at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:246)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:23)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-9" (TID:0xa31330, sys_thread_t:0x9060868, state:CW, native ID:0x460)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-8" (TID:0xa31170, sys_thread_t:0x90606f8, state:CW, native ID:0x3a8)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-7" (TID:0xa31250, sys_thread_t:0x9060588, state:CW, native ID:0x754)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-6" (TID:0xa31080, sys_thread_t:0x90604a0, state:CW, native ID:0x600)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-5" (TID:0xa30eb0, sys_thread_t:0x8fd1638, state:CW, native ID:0x500)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-4" (TID:0xa30f98, sys_thread_t:0x8fd14c8, state:CW, native ID:0x5b8)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-3" (TID:0xa30dc8, sys_thread_t:0x8fd1358, state:CW, native ID:0x4b4)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-2" (TID:0xa30c00, sys_thread_t:0x901f8c8, state:CW, native ID:0x798)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-1" (TID:0xa30ce0, sys_thread_t:0x901f758, state:CW, native ID:0x88)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread-0" (TID:0xa308d0, sys_thread_t:0x901f670, state:CW, native ID:0x3a0)
    prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "Thread-0" (TID:0x85a238, sys_thread_t:0x8fb5088, state:CW, native ID:0x744)
    prio=10
    at java.lang.Thread.sleep(Native Method)
    at weblogic.transaction.internal.TransactionManagerImpl$1.run(TransactionManagerImpl.java:737)
    at java.lang.Thread.run(Thread.java:484)
    "Finalizer" (TID:0x7b0528, sys_thread_t:0x89fa088, state:CW, native ID:0x5c4)
    prio=8
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:108)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:123)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:162)
    "Reference Handler" (TID:0x7b0300, sys_thread_t:0x89f6148, state:CW, native ID:0x690)
    prio=10
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:110)
    "Signal dispatcher" (TID:0x7b0330, sys_thread_t:0x89ef5f8, state:R, native ID:0x5ac)
    prio=5
    "main" (TID:0x7b01a0, sys_thread_t:0x235328, state:CW, native ID:0x788) prio=5
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.t3.srvr.T3Srvr.waitForDeath(T3Srvr.java:498)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:171)
    at weblogic.Server.main(Server.java:35)
    Monitor Cache Dump:
    weblogic.kernel.ExecuteThread@A316E0/22C7E48: <unowned>
    Waiting to be notified:
    "ExecuteThread-14" (0x90502f0)
    weblogic.kernel.ExecuteThread@A30CE0/22C5268: <unowned>
    Waiting to be notified:
    "ExecuteThread-1" (0x901f758)
    weblogic.kernel.ExecuteThread@A308D0/22C4DD0: <unowned>
    Waiting to be notified:
    "ExecuteThread-0" (0x901f670)
    weblogic.kernel.ExecuteThread@A30EB0/22C6028: <unowned>
    Waiting to be notified:
    "ExecuteThread-5" (0x8fd1638)
    weblogic.kernel.ExecuteThread@A31080/22C6398: <unowned>
    Waiting to be notified:
    "ExecuteThread-6" (0x90604a0)
    weblogic.kernel.ExecuteThread@A31250/22C6708: <unowned>
    Waiting to be notified:
    "ExecuteThread-7" (0x9060588)
    java.io.InputStreamReader@FEAB90/3DD57C8: owner "ExecuteThread-12" (0x9050010)
    1 entry
    weblogic.kernel.ExecuteThread@A30C00/22C55D8: <unowned>
    Waiting to be notified:
    "ExecuteThread-2" (0x901f8c8)
    java.net.PlainSocketImpl@FB1FE8/25A91C0: owner "SSLListenThread" (0x9dc3b20)
    1 entry
    weblogic.time.common.internal.TimeTable@A68270/22FF4B0: <unowned>
    Waiting to be notified:
    "TimeEventGenerator" (0x9070890)
    weblogic.kernel.ExecuteThread@A317C0/22C7B38: <unowned>
    Waiting to be notified:
    "ExecuteThread-13" (0x9050180)
    weblogic.time.common.internal.TimeTable@A3E730/22CDA60: <unowned>
    Waiting to be notified:
    "TimeEventGenerator" (0x9071c10)
    java.net.PlainSocketImpl@FB1DD0/25A9110: owner "ListenThread" (0x9dc3960) 1 entry
    weblogic.kernel.ExecuteThread@A30DC8/22C5948: <unowned>
    Waiting to be notified:
    "ExecuteThread-3" (0x8fd1358)
    weblogic.kernel.ExecuteThread@A30F98/22C5CB8: <unowned>
    Waiting to be notified:
    "ExecuteThread-4" (0x8fd14c8)
    weblogic.common.internal.DynaQueue@FB97F8/25AB878: <unowned>
    Waiting to be notified:
    "ExecuteThread-10" (0x90609d8)
    weblogic.kernel.ExecuteThread@A31170/22C6A78: <unowned>
    Waiting to be notified:
    "ExecuteThread-8" (0x90606f8)
    java.lang.ref.ReferenceQueue$Lock@7B0540/214CA40: <unowned>
    Waiting to be notified:
    "Finalizer" (0x89fa088)
    weblogic.t3.srvr.T3Srvr@7C4C08/2185000: <unowned>
    Waiting to be notified:
    "main" (0x235328)
    weblogic.kernel.ExecuteThread@A31520/22C74C8: <unowned>
    Waiting to be notified:
    "ExecuteThread-11" (0x9060b48)
    weblogic.security.SpinnerThread@A37340/22CAB60: <unowned>
    Waiting to be notified:
    "SpinnerRandomSource" (0x9050ba0)
    weblogic.servlet.internal.ServletInputStreamImpl@FEB090/3DD28C8: owner "ExecuteThread-12"
    (0x9050010) 1 entry
    weblogic.kernel.ExecuteThread@A31330/22C6DE8: <unowned>
    Waiting to be notified:
    "ExecuteThread-9" (0x9060868)
    java.lang.ref.Reference$Lock@7B0310/214C560: <unowned>
    Waiting to be notified:
    "Reference Handler" (0x89f6148)
    Registered Monitor Dump:
    utf8 hash table: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class linking lock: <unowned>
    System class loader lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Monitor cache lock: owner "Signal dispatcher" (0x89ef5f8) 1 entry
    Thread queue lock: owner "Signal dispatcher" (0x89ef5f8) 1 entry
    Monitor registry: owner "Signal dispatcher" (0x89ef5f8) 1 entry

  • Setting the header in http request object

    I am facing a problem while trying to test a particular flow of my application.The details are given below:
    The controller servlet of my main application reads the header "Referer" from the request object and then based on this it forwards the request to appropriate servlets.For testing my application I am writing a test servlet which receives a request object from a test jsp and sets all the necessary attributes in the request object and passes this request object to the doGet () method of the main application's controller servlet. But while trying with this I find that the main controller fails to forward to the correct servlet because it receives incorrect referer information. So my question is how can I set my customised "Referer" in the header of the http request so that the application's controller servlet forwards to the correct servlet?Is there any means to set the request header in servlet or jsp?

    As far as I know you can't change the request in a servlet or .jsp, but you can in a Filter. Wrap the original request object in a wrapper class before passing it to chain.doFilter().

  • How to delete User-Agent header field from http request ?

    Hi,
    I'm currently using HttpUrlConnection to create a HTTP 1.1 POST client, and I wish to remove the User-Agent field from my request.
    However, java seems to set this field to "java.1.4.2" if none is provided.
    I have found methods to modify the User-Agent ( "setRequestProperty()" and system property "http.agent" ) but none to delete it.
    Is there a way to remove this header from the request ?
    This field is said as "should be implemented" but is not required in rfc2616(http1.1), so I'm a bit surprised that I can't remove it in the java HttpUrlConnection...
    Thank you for your help,
    Gregoire

    You can always go around java.net.HttpUrlConnection with your own subclass of UrlConnection or simply a socket. You may lose some functionality, for example with handling binary content, but it may still be a solution.
    (But are you saying that the server requires that there's no user-agent header? That's not a case of incompatibility, it's a bug. Scrap the server, and get one that works.
    It seems a lot more likely that the server just have strict ideas of what user agents it wants to talk to. Then instead of removing the header, you want to find out what values the server will expect.)

  • Reading from http server

    Hi guys and girls,
    I've got a simple problem: i'm busy programming a browser (for now it's a simple text based browser) and everything works fine, the connection works and it gets all http headers and the html file. But once and a while my program doesn't terminate properly and i think it's got something to do with the following loop:
    /* Read the first line returned by the server */
    String fromServer = input.readLine();
    while (fromServer != null){
    System.out.print(fromServer+"\r\n");
    /* Read the next line untill that line is blank*/
    fromServer = input.readLine();
    Sometimes this works, sometimes it doesnt (mind you: the http headers are received before this loop, so that's not the problem). This loop should get the html file at the specified url: at some locations it just keeps running and it doesn't exit, so this loop isn't exited because right after it i close my connections and perform a System.exit().
    Does anyone have any idea what my problem is? The loop should stop when the server doesn't send anymore lines from the html file: it shows the html closing tag everytime so that is the last line from the html file, yet it fails to exit the loop. The weird thing is: sometimes it works properly, sometimes it doesn't., and when it doesn't it doesn't show input anymore so all html text is sent by the server.
    Are there other ways to make the program exit the loop when all the lines from the html file are sent?
    The input stream i use is a buffered inputstream reader:
    input = new BufferedReader(new InputStreamReader(c.getInputStream()));
    Hope you understand the problem :)

    1. You didn't show what kind of connection u get. For example HttpConnection may be looped due
    to response redirection.
    2. I think the best practice for the case is to read bytes from the stream but not lines, for instance:
    int c = 0;
    while( (c=in.read())>=0 ){
    .... do something
    }

  • Reading soap http request packets

    im writing a class to obtain the soap http request from client on the server side. im not sure if i should be using the java.net class or the httpurlconnection or any other similar class. anyone have suggestions?
    any tutorials on that? thanks

    You can also use JAX-WS which can be found at http://jax-ws.dev.java.net.

Maybe you are looking for

  • Error when trying to install iTunes 7.0.2

    I tried to install this update, during the installation process I get an error that says... The feature you are trying to use is on a network resource that is unavailable. Click OK to try again, or enter an alternate path to a folder containing the i

  • DDK - How to install only the Driver development kit ??

    Hi Colleagues - I can't, for the life of me, figure out exactly how to go about installing JUST the DDK from the custom (custom/expand installation) menu option when launching setup.exe from a supported Windows 2003 server. I've tried "Generic ODBC,

  • Question for "FOR ALL ENTRIES"

    Some materials mentioned that If the table on which the For All Entries IN clause is based is very large, the performance will go down instead of improving. But what's the moderate size of the table used in "FOR ALL ENTRIES"?

  • Automatic Warehouse task

    In an Inbound delivery if we have same product and batch in multiple line items,  Automatic Warehouse Tasks are getting created for rest of the HU after  creating WT for one HU Inbound Process--> Receive HU via ASN. Then Select a HU and perform Unloa

  • Just changed Domain Name, so what do I need to do now?

    hi all, I am rather new here with servers, and i had one mac mini server setup and working using a domain name, and now that's changing (where the static IP address will not). So I am wondering if there is a tutorial on what to fix inside of the serv