BufferedReader.ready() keeps returning false using JSSE 1.0.2/jdk 1.2.2

I'm running into difficulties reading a response data stream from a server via HTTPS. The SSL sets up fine (I can see both the client side and server side certificate chains, and the two sides can handshake and agree on a cipher (SSL_RSA_WITH_RC4_128_SHA in this case)). I get no errors getting the output or input streams from the socket, and the GET request seems to work (no errors reported by the PrintWriter), but in.ready() returns false, and the while loop exits immediately. But I know there is data available (I can paste the printed url into Netscape and get data back). Since this should not be all that complex once the SSL session is established, I'm probably missing something silly, Can someone tell me what it is please?
Thanks
Doug
// code excerpt
// just finished printing the cipher suite, cert chains, etc
try{
out = new PrintWriter(
new BufferedWriter(
new outputStreamWriter(socket.getOutputStream() )));
} catch(Exception e) {
System.out.println("Error getting input and output streams from socket ");
System.out.println(e.getMessage());
e.printStackTrace();
throw(e);
try{   // time to submit the request and get the data
// build the URL to get
// tried constructing it here and nailing it up at declaration time - no difference
// path = "https://" + dlp.host + ":" + Integer.toString(dlp.port) + "/" +
// dlp.basePath + "?StartDate=" + longDateFmtURL.format(dlp.startDate) +
// "&EndDate=" + longDateFmtURL.format(dlp.endDate);
System.out.println("Sending request for URL" );
System.out.println(path);
out.println("GET " + path );
out.println();
out.flush();
* Make sure there were no errors
if (out.checkError()){
System.out.println("Error sending request to server");
throw(new IOException("Error sending request to server")
try{
     in = new BufferedReader(
          new InputStreamReader(
          socket.getInputStream() ));
} catch(Exception e) {
System.out.println("Error getting input stream from socket ");
System.out.println(e.getMessage());
e.printStackTrace();
//System.exit(3);
throw(e);
if (!in.ready()) {   //  in.ready() keeps returning false
System.out.println("Error - socket input stream not ready for reading");
while ((inputLine = in.readLine()) != null) {
// loop over and process lines if it was ever not null
}

Never mind.
The problem seems to be related to the development/debugging enviroment (Oracle JDeveloper 3.2.3), When I run things outside of that eviroment using the "plain" runtime, it works as expected (back to System.out.println() for debugging). That said, I usually find it to be a nice development/debugging enviroment for Java.

Similar Messages

  • Returning arrays using JDBC 2.0 and JDK 1.2.2

    I am able to return a varray from an PL/SQL stored procedure to a Java program using the Oracle JDBC 8.1.6 driver classes (oracle.jdbc.driver.* and oracle.sql.ARRAY). I want to avoid using the Oracle specific classes to do this and instead just use the standard JDBC 2.0 classes and JDK 1.2.2. Will I still be able to access the varray returned by the PL/SQL SP or am I forced to use the Oracle classes?
    Why I ask this is because the Java code needs to be usable from a Netscape Application Server 4.0/iPlanet Application Server 6.0 servlet or java class. NAS 4.0 uses the JDBC 2.0 classes but I cannot use the Oracle JDBC 8.1.6 classes since NAS 4.0 requires the Oracle 8.0.5 client. iAS 6.0 provides a JDBC 2.0 type 2 driver and uses the Oracle 8.1.5 client but does not support arrays, i.e. CallableStatement.getArray(), ResultSet.getArray(), etc. are not supported.

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Craig Knelsen ([email protected]):
    I am able to return a varray from an PL/SQL stored procedure to a Java program using the Oracle JDBC 8.1.6 driver classes (oracle.jdbc.driver.* and oracle.sql.ARRAY). I want to avoid using the Oracle specific classes to do this and instead just use the standard JDBC 2.0 classes and JDK 1.2.2. Will I still be able to access the varray returned by the PL/SQL SP or am I forced to use the Oracle classes?
    Why I ask this is because the Java code needs to be usable from a Netscape Application Server 4.0/iPlanet Application Server 6.0 servlet or java class. NAS 4.0 uses the JDBC 2.0 classes but I cannot use the Oracle JDBC 8.1.6 classes since NAS 4.0 requires the Oracle 8.0.5 client. iAS 6.0 provides a JDBC 2.0 type 2 driver and uses the Oracle 8.1.5 client but does not support arrays, i.e. CallableStatement.getArray(), ResultSet.getArray(), etc. are not supported.<HR></BLOCKQUOTE>
    can u plzz help me as to how u returned the
    null

  • How to make reader.ready() return false

    reader.ready() method returned false for me when reading from
    when reader is obtained from databse. eg. Clob reader.
    So that can be acceptable that next call may block thats why ready() returned false.
    But i want to simulate situation when reader.ready() returns false even if reader is eg. FileReader, directy reading from
    existing file on local unix machine. (and this file is having content)
    So can it happen? And in which cases?

    can you telll me those few cases for this method ?
    I am interested in cases when io operations on local non empty file may lead to blocking call so that this method will return false

  • BufferedReader - ready() problem

    hi folks,
    I ' m using the following code:
    BufferedReader in =new BufferedReader(new InputStreamReader(System.in));
    System.out.println(in.ready());
    if (in.ready())
         int input=in.read();
         char inchar=(char)input;
         inchar=character.toLowerCase(inchar);
    .......and have the following problem:
    in.ready() always returns false, so that it is impossible to read the char entered by the user. On the other hand, if I use the code without in.ready(), I get a synchronized (lock) {} IOException!
    May be somebody can tell me how to read a users input successfully,
    Thanx in advance,
    macmo

    Doesn't in.read() block until something has been entered? From the API docs of Reader:
    "This method will block until a character is available, an I/O error occurs, or the end of the stream is reached." In the case of System.in, it's quite improbable that the two latter ones occur... :)
    So, what you want should be simplyBufferedReader in =new BufferedReader(new InputStreamReader(System.in));
    char inchar=Character.toLowerCase((char)input);

  • Iam Using Gridview Cell Click Event to Check the Checkbox Status of the GridViewCheckboxCell. But It Always Return False Even it is Checked

      private void GridViewRoom_CellClick(object sender, Telerik.WinControls.UI.GridViewCellEventArgs e)
                  if (e.ColumnIndex==19)
                       bool isChecked = Convert.ToBoolean(GridViewRoom.CurrentRow.Cells[e.ColumnIndex].Value);   // It Return False only, Even If it is Checked

    Telerik is a 3rd party company, please use their forums if you need help with using their controls:
    http://www.telerik.com/forums

  • Problem in SSL programation client in Weblogic 5.1 using JSSE

    How to solve this Exception. When I sent more than 8000 bytes of data in the request weblogic 5.1 in solaris server gives me this error. But the same server and same configuration in Window NT with same SSLClient program does not give any expection even if i send 60000 bytes in the request.
    SSLClient Program used given below. How to solve this problem. Any server setting is required.
    Exception got in the weblogic server 5.1 in solaris server
    weblogic.socket.MaxMessageSizeExceededException: [Incoming HTTP request headers of size 8320 bytes exceeds the configured maximum of 8192 bytes]
    at weblogic.socket.MuxableSocketHTTP.incrementBufferOffset(MuxableSocketHTTP.java:111)
    at weblogic.socket.SSLFilter.isMessageComplete(SSLFilter.java:195)
    at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:361)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:23)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    SSLClient Program used: JSSE 1.0.2 package is used for SSL
    import java.io.*;
    import javax.net.ssl.*;
    import java.net.*;
    import com.sun.net.ssl.*;
    import java.security.KeyStore;
    public class SSLClient {
         public SSLClientCheck()
              System.out.println(" SSLClient is instantiated ...");     
         public String getSSLConnection(String host,String port,String keystorepwd,String truststorepwd,
                                            String keystorepath,String truststorepath,String filepath,String parName,String message)throws Exception
              String output = "";
              int iport = Integer.parseInt(port);
                             SSLSocketFactory factory = null;          
                             SSLContext ctx;
                             KeyManagerFactory kmf;                         
                             KeyStore ks;                         
                             KeyStore ks2;
                             TrustManagerFactory tmf;
                             char[] storepass = keystorepwd.toCharArray();
                             char[] truststorepass = truststorepwd.toCharArray();
                             ctx = SSLContext.getInstance("SSLv3");                    
                             kmf = KeyManagerFactory.getInstance("SunX509");
                             ks = KeyStore.getInstance("JKS");                         
                             ks.load(new FileInputStream(keystorepath), storepass);
                             kmf.init(ks, storepass);                         
                             tmf = TrustManagerFactory.getInstance("SunX509");                         
                             ks2 = KeyStore.getInstance("JKS");
                             ks2.load(new FileInputStream(truststorepath), truststorepass);
                             tmf.init(ks2);
                             ctx.init(kmf.getKeyManagers(),tmf.getTrustManagers(), null);     
                             factory = ctx.getSocketFactory();
                   SSLSocket socket = (SSLSocket)factory.createSocket(host,iport);
                   socket.startHandshake();
                   PrintWriter out = new PrintWriter(
                                  new BufferedWriter(
                                  new OutputStreamWriter(
                                       socket.getOutputStream())));
                   out.println("GET " + filepath+"?"+parName+"="+URLEncoder.encode(message) + " HTTP/1.0");
                   out.println();
                   out.flush();
                   if (out.checkError())
                        System.out.println("SSLSocketClient: java.io.PrintWriter error");
                   /* read response */
                   BufferedReader in = new BufferedReader(
                                  new InputStreamReader(
                                  socket.getInputStream()));
                        String inputLine ;                    
                        while ((inputLine = in.readLine()) != null){                         
                        output = output+inputLine;
                             //System.out.println(inputLine);                    
                   in.close();
                   out.close();
                   socket.close();                    
              return output;
         public static void main(String args[])
                   String host = "host name";
                   String port="7001";
                   String keystorepwd="cqrcqr";
                   String keystorepwd="changeit";
                   String keystorepath ="d:/weblogic/myserver/certificate/cqrstore";
                   String truststorepath="d:/jdk1.3/jre/security/cacerts";
                   String filepath="/servlets/SSLDemo";
                   String parName="xml_message";
                   String message="xml message";// of size more than 9000 bytes
              try{
              SSLClient ssl = new SSLClient();
              String output = ssl.getSSLConnection(host,port,keystorepwd,keystorepwd,keystorepath,truststorepath,filepath,parName,message);
              System.out.println(output);
              catch(Exception e)
                   e.printStackTrace();
    }

    Maybe you should consider upgrading your Weblogic to a newer one. It might resolve the issue.

  • (New to C# here) What is the best way to return false in a function if it cannot be executed successfully?

    In Javascript or PHP you can have a function that could return, for example, a string in case of success and false in case of failure.
    I've noticed (in the few days I've been learning C#) that you need to define a type of value that the function will return, so you need to return that type of value but in case of failure you can't return false.
    What is the best way to achieve this behavior and is there an example I can see?
    Thank you in advance,
    Juan

    Juan, be aware that returning null won't work with value types, such as an int, which can't be null. You'd have to use a nullable value type. A nullable int would be declared with a "?", such as:
    int? someOtherFunction(int param)
    if(something goes great)
    return param * 42;
    return null;
    And you have to use it like this:
    int? result = someOtherFunction(666);
    if (result != null) // you can also use result.HasValue
    // it worked, do something with the result
    // if you're doing math with the result, no problem
    int x = result * 2;
    // but if you're assigning it to another an int, you need to use this syntax
    int y = result.Value;
    Before nullable value types came along, for a method that returned an int, I'd use a value of something that wouldn't normally be returned by that method to indicate failure, such as a -1.
    ~~Bonnie DeWitt [C# MVP]
    That's something very very important to keep in mind. Can save you from a lot of headaches!
    So if you have an int function and it might return NULL, if you are doing Math with the return value you can use it directly, but if you're assigning it to another variable you have to use .Value?
    Thanks

  • Create outgoing SSL connections in WebLogic 4.5.1 using JSSE

    Hi,
    Does anyone know how to create outgoing SSL connections from a WLS 4.5.1 using
    JSSE.
    I've implemented an application using JSSE for POSTing data to an HTTPS server
    that requires client authentication and it worked fine. But when used inside the
    WebLogic server it doesn't work, because the WLS SSL classes are used instead
    of the JSSE ones. It returns a "java.io.IOException: Alert: fatal handshake_failure".
    If the ssl.enable property is set to false probably it will work, but I need it
    set to true. Does anyone a way to solve this problem?
    Thanks in advance.

    Hi,
    I also need to do the same in weblogic 5.1 (sp8). I know
    it is not possible with JSSE, but how do I achieve with
    weblogic implementation of Https? I am getting "Non
    supported cipher requested" error. How do I remove this message. It will be
    of great help if someone can list
    down the configuration step in weblogic. I am trying
    to find it in weblogic documentation but no success so far.
    Thanks in advance for your help!
    - Rishi
    "Jerry" <[email protected]> wrote in message
    news:[email protected]..
    Hi Nuno,
    I don't think that you can use JSSE to make outgoing SSL connections inWLS 4.5.1 because
    of the many conflicts between JSSE and the WLS SSL classes
    In versions of 5.1 (such as sp9 and up), and also 6.0 and 6.1, BEA gotrid of these
    conflicts to make the use of JSSE possible with WebLogic to do outgoingSSL.
    In 4.5.1, I believe you are out of luck.
    Joe Jerry
    Nuno Carvalho wrote:
    Hi,
    Does anyone know how to create outgoing SSL connections from a WLS 4.5.1
    using
    JSSE.
    I've implemented an application using JSSE for POSTing data to an HTTPSserver
    that requires client authentication and it worked fine. But when usedinside the
    WebLogic server it doesn't work, because the WLS SSL classes are usedinstead
    of the JSSE ones. It returns a "java.io.IOException: Alert: fatalhandshake_failure".
    If the ssl.enable property is set to false probably it will work, but Ineed it
    set to true. Does anyone a way to solve this problem?
    Thanks in advance.

  • Default hostnameverifier always returns false ...

    Hi,
    I am trying to run wsdl2java by supplying an https URL. The JVM args that I am using are:
    javax.net.ssl.trustStore=E:/Romil/projects/AirDeccanPlugin/localhost.ks
    java.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol
    On running wsdl2java, I end up getting the following exception:
    java.io.IOException: wrong hostname : should be <...>
    I've verified that the hostname (IP address) in the URL exactly matches the CN (IP address) in the server certificate .
    When I look at the JSSE code, it seems like the default HostnameVerifier always returns "false".
    I also couldnt figure out a non-programatical way of supplying my own
    HostnameVerfier to JSSE that returns a "true"
    Any solutions/thoughts ?
    Thanks and regards,
    Romil

    try this code before creating a connection
    com.sun.net.ssl.HostnameVerifier hv=new com.sun.net.ssl.HostnameVerifier() {
    public boolean verify(String urlHostname, String certHostname) {
    System.out.println("Warning: Hostname is not matched for cert: "+urlHostname+ certHostname);
    return true;
    com.sun.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(hv);
    this should solve your problem
    cheers

  • GSSContext.isEstablished() always return false

    I'm writing a servlet filter for Kerberos single-signon between IE and websphere 5 on Win2000 through JGSS-API and SPNEGO. I use com.ibm.security.auth.module.Krb5LoginModule as the login module and I've created the keytab and put in the app. server. I can see that the Kerberos credentials is retrieved from the keytab and Login is sucessful. When I call gsscontext.acceptSecContext(), a token (should be AP-REP) is returned. I checked gsscontext.isEstablished() and it returns false. So, I wrap this token in a NegTokenTarg with status "accept_incomplete" and send it back to the browser. However, the browser send the same request over and over again and the context is never established.
    Here's the extract of the browser request keep receiving:
    A1 82 04 D3 (NegTokenTarg - 0xa1)
    30 82 04 CF (sequence)
    A2 82 04 CB (sequence element 2 - response token)
    04 82 04 C7
    60 82 04 C3
    06 09 2A 86 48 86 F7 12 01 02 02
    01 00 6E 82 04 B2 30 82 04 AE A0 03 02 01 05 A1 03 02 01 0E A2 07 03 05 00 20 00 00 00 A3 82 03 D6 61 82 03 D2 30 82 03 CE A0 03 02 01 05 A1 10 1B 0E 44 4D 5F 43 42 ...
    Here's the extract of my response to the browser:
    A1 82 01 42 (NegTokenTarg - 0xa1)
    30 82 01 3E (sequence)
    A0 03 0A 01 01 (sequence element 0 - negResult accept_incomplete)
    A1 0B 06 09 2A 86 48 86 F7 12 01 02 02 (sequence element 1 - supported mech)
    A2 82 01 28 (sequence element 2 - response token)
    04 82 01 24
    60 82 01 20
    06 09 2A 86 48 86 F7 12 01 02 02
    03 00 7E 82 01 0F 30 82 01 0B A0 03 02 01 05 A1 03 02 01 1E A4 11 18 0F 32 30 30 35 30 33 30 31 30 36 31 37 35 33 5A A5 05 02 03 05 24 68 A6 03 02 01 00 A9 10 1B 0E ...
    It seems that the NegTokenTarg from browser contains only the responsetoken. There's no negResult in it.
    Any help would be appreciated!

    NativeProcess will not work in a .air file. You will have to create a native installer for the undelying platform for NativeProcess to work.
    You may find some help at:
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/NativePro cess.html
    For testing purpose only, you can use adl -profile extendedDesktop <path to app descriptor> <path to swf>
    Hope this helps,
    Neha

  • Bug Report: ResultSet.isLast() returns false when queries return zero rows

    When calling the method isLast() on a resultset that contains zero (0) rows, false is returned. If a resultset contains no rows, isLast() should return true because returning false would indicate that there are more rows to be retrieved.
    Try the following Java source:
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import oracle.jdbc.driver.*;
    public class Test2 {
    public static void main (String [] args) throws Exception {
    Connection conn = null;
    String jdbcURL = "jdbc:oracle:thin:@" +
    "(DESCRIPTION=(ADDRESS=(HOST=<host computer>)"+
    "(PROTOCOL=tcp)(PORT=<DB port number>))"+
    "(CONNECT_DATA=(SID=<Oracle DB instance>)))";
    String userId = "userid";
    String password = "password";
    try{
    // Load the Oracle JDBC Driver and register it.
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    // *** The following statement creates a database connection object
    // using the DriverManager.getConnection method. The first parameter is
    // the database URL which is constructed based on the connection parameters
    // specified in ConnectionParams.java.
    // The URL syntax is as follows:
    // "jdbc:oracle:<driver>:@<db connection string>"
    // <driver>, can be 'thin' or 'oci8'
    // <db connect string>, is a Net8 name-value, denoting the TNSNAMES entry
    conn = DriverManager.getConnection(jdbcURL, userId, password);
    } catch(SQLException ex){ //Trap SQL errors
    // catch error
    //conn = new OracleDriver().defaultConnection(); // Connect to Oracle 8i (8.1.7), use Oracle thin client.
    PreparedStatement ps = conn.prepareStatement("select 'a' from dual where ? = ?", ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); // Use any query that will return zero rows.
    ps.setInt(1, 1); // Set the params so that the query returns 0 rows.
    ps.setInt(2, 2);
    ResultSet rs = ps.executeQuery();
    System.out.println("1. Last here? " + rs.isLast());
    while (rs.next()) {
    // do whatever
    System.out.println("2. Last here? " + rs.isLast());
    ps.close();
    rs.close();
    EXPECTED RESULT -
    1. Last here? true
    2. Last here? true
    ACTUAL RESULT -
    1. Last here? false
    2. Last here? false
    This happens to me on Oracle 9.2.0.1.0.

    387561,
    For your information, I discovered this problem from
    running a query that did access an actual DB table.
    Try it and let me know.I did say I was only guessing, and yes, I did try it (after I posted my reply, and before I read yours). And I did check the query plan for the queries I tried -- to verify that they were actually doing some database "gets".
    In any case, the usual way that I determine whether a "ResultSet" is empty is when the very first invocation of method "next()" returns 'false'. Is that not sufficient for you?
    Good Luck,
    Avi.

  • How do I find a word in all my document, return false if it's not in there.

    Hi,
    I struggle with something that should be easy, and didn't find any answer on this forum.
    I have a list of word that I want to search in a 300 pages catalogue in InDesign. I'd like to know how can i:
    1) Look for the word
    2) Return true if it's in the document
    3) Return false if it's not
    FYI, the words i'm searching are product code, so if they're not in the catalogue, the product isn't in the catalogue.
    Thanks a lot,
    Olivier

    Hi Oliver,
    Use this,
    var doc = app.documents;
    app.findTextPreferences = NothingEnum.nothing;
    app.changeTextPreferences = NothingEnum.nothing;
    app.findTextPreferences.findWhat = "Text";
    var foundtext = app.activeDocument.stories.everyItem().paragraphs.everyItem().findText();
    for (var i=0;i<foundtext.length;i++){
            if (foundtext[i].length != 0){
                alert("True");
            else{
                alert("False")
    app.findTextPreferences = NothingEnum.nothing;
    app.changeTextPreferences = NothingEnum.nothing;

  • I recently just bought a Toshiba 3TB External Hard Drive.  I am trying to partition it on my macbook, but it keeps returning and error message.  The only thing I have changed is renamed easy drive.

    I recently just bought a Toshiba 3TB External Hard Drive.  I am trying to partition it on my macbook, but it keeps returning and error message.  The only thing I have changed is renamed easy drive.

    Your problem is not Boot Camp, in fact, is your optical drive. Win XP requires indeed sp2, but also the internal drive, does not work from external optical drive.
    For other possible tricks, please use the appropriate Boot Camp forum, not here. Mac OS X may be installed from both external and internal optical drive and/or internal/external partition of a disk, any disk. Windows is not so generous.

  • ExternalInterface.available returns false on a Mac

    Hi there!
    I'm triyng to get the browsers back-button to work with my
    flash site. The general principle is this:
    There is an index.html page containing an (not yet) hidden
    Iframe and the flash movie.
    The Iframe contains page A, which starts with JavaScript
    calling a BACK-function on the index-page.
    The BACK-function triggers an AS-function in the flash-movie
    that activates its own back-button, and then changes the URL of the
    Iframe to Page B. This causes a new History to be added to the
    browser.
    The flash movie now contains 5 frames (labeled in the middle
    of the stage) and two navigation buttons: back (Terug) and forward
    (Verder). Those buttons do exactly what you'd expect them to do
    (prevFrame and nextFrame).
    On a PC (IE) this seems to work pretty well. But on a mac
    nothing seems to work propperly.
    I've got a testpage at:
    http://www.multimediamatters.nl/test
    Here's the code I have on the first frame.
    stop();
    _root.terug.onRelease = function(){
    prevFrame();
    terugF = function(){
    trace(_root._currentframe);
    if (_root._currentframe > 1){
    _root.terug.onRelease();
    else {
    _root.getURL("javascript::history.go(-2)");
    import flash.external.*;
    var isAvailable:Boolean = ExternalInterface.available;
    var txtField2:TextField = this.createTextField("txtField",
    this.getNextHighestDepth(), 300, 0, 200, 50);
    txtField2.border = true;
    txtField2.text = "ExternalInterface.available =
    "+isAvailable.toString();
    var methodName:String = "goHome";
    var instance:Object = null;
    var method:Function = terugF;
    var wasSuccessful:Boolean =
    ExternalInterface.addCallback(methodName, instance, method);
    var txtField:TextField = this.createTextField("txtField",
    this.getNextHighestDepth(), 0, 0, 200, 50);
    txtField.border = true;
    txtField.text = "ExternalInterface.addCallback =
    "+wasSuccessful.toString();
    Somehow the ExternalInterface doesn't seem to get loaded. Any
    suggestions to solve this?
    Thanks in advance.
    Yours,
    Andra
    P.S.
    The condition
    if (_root._currentframe > 1){ doesn't work on a PC
    either. It always calls
    _root.terug.onRelease(). I can't figure out why...

    Woops!! I guess I wasn't paying enough attention...
    On a mac using Internet Explorer, both
    ExternalInterface.available and
    ExternalInterface.addCallback return false. Using the back
    button does reload Page A into the Iframe, but doesn't execute any
    AS-functions.
    Using Safari, they both return true. However, using the back
    button reloads the entire index.html instead of loading Page A back
    into the Iframe. This means the flash-movie is reloaded aswell, so
    you're automatically back at frame 1.
    Is there any way I could get this working properly?
    Yours,
    Andra

  • Webutil_file_transfer.as_to_client_with_progress returns false

    Hi,
    I have the following problem: I want to transfer a file from the application server to the client. I use the following code:
    DECLARE
    l_cache_filename VARCHAR2(150) := 'Q:\OracleReportsTemp\123.html';
    l_report_desname VARCHAR2(150) := 'C:\pcedownload\456.html';
    BEGIN
    IF NOT webutil_file_transfer.is_as_readable(l_cache_filename)
    THEN
    message('error in configuration');
    ELSE
    IF NOT webutil_file_transfer.as_to_client_with_progress(l_report_desname, l_cache_filename, 'Transferring to '||l_report_desname, 'Transferring to '||l_report_desname)
    THEN
    message('error while transferring');
    END IF;
    END IF;
    END;
    The file Q:\OracleReportsTemp\123.html exists on the application server and the directory C:\pcedownload exists on the client PC.
    This is the extract from webutil.cfg from the application server:
    transfer.database.enabled=FALSE
    transfer.appsrv.enabled=TRUE
    transfer.appsrv.workAreaRoot=Q:\OracleReportsTemp
    transfer.appsrv.accessControl=TRUE
    transfer.appsrv.read.1=Q:\OracleReportsTemp
    Although this code works fine on my local OC4J, webutil_file_transfer.as_to_client_with_progress always return FALSE on the Application Server. The function webutil_file_transfer.is_as_readable returns true on both environments. Other webutil function such as client_text_io also work fine on both environments.
    Versions:
    Forms 10g Release 2
    Application Server 10g Release2 using OID and SSL
    Webutil 1.0.6
    Jinitiator 1.3.1.22

    Hi,
    You can try as follows in your webutil.cfg file:
    transfer.database.enabled=TRUE
    transfer.appsrv.enabled=TRUE
    transfer.appsrv.workAreaRoot=
    transfer.appsrv.accessControl=FALSE
    transfer.appsrv.read.1=
    transfer.appsrv.write.1=
    In formsweb.cfg you might have:
    [webutil]
    WebUtilArchive=frmwebutil.jar,jacob.jar
    WebUtilLogging=off
    WebUtilLoggingDetail=normal
    WebUtilErrorMode=Alert
    WebUtilDispatchMonitorInterval=5
    WebUtilTrustInternal=true
    WebUtilMaxTransferSize=16384
    baseHTMLjinitiator=webutiljini.htm
    baseHTMLjpi=webutiljpi.htm
    archive_jini=frmall_jinit.jar,frmwebutil.jar,jacob.jar
    archive=frmall.jar
    lookAndFeel=oracle
    userid=user/pwd@mbcprod10g
    width=100%
    height=100%
    then try with the following link:
    http://localhost:8889/forms/frmservlet?config=webutil&form=<Form_Name>
    Hopefully it will work.
    Regards
    Kausar Iqbal

Maybe you are looking for