Null values in Weblogic 7 HTTP Request Parameters

It appears weblogic 7 handles nulls passed from the request object
          differently than the previous versions. In my jsp's, if a parameter
          was not passed, I used to get a java null value:
          String s = request.getParameter("something_not_passed");
          if(s == null) {
          //do stuff
          Now, weblogic seems to return the string literal "null" so I would
          have to use:
          if(s.equals("null")) {
          //do stuff
          Is this a bug or am I missing something?
          Thanks,
          Paul
          

HI, Thanks for the reply. I am using getString() to fetch values.
DO u think its due to driver incompatibility?? Because, BEA claims WL7.0 supports
Oracle 8.1.7 onwards!
Thanks,
Yogesh
Joseph Weinstein <[email protected]> wrote:
>
>
Yogesh wrote:
Hi, I have ported my web application from weblogic 5.1 to weblogic 7.Set up is weblogic
7 with database Oracle 8.1.6 and i am using OCI driver for DB connectionpool. I
am facing some problems like, the values that were retrieved as blanksin weblogic
5.1 are being retrieved as null(string literal value) in 7. The same thinghappens
when parameters were passed through HTTP request object. Any idea aboutthis?
Thanks,
YogeshHi. This sounds like a driver bug. Let's isolate it to a simple standalone
program
that uses our driver to select null data. How are you asking for the object?
GetString(),
GetObject()?
Joe

Similar Messages

  • Null values returned when using request.getParameters(

    I have a html form which allows the user to choose options and select a file to upload. When I use method=Post I get null values returned. When I use method=Get I get my parameter values fine.. but I get an error.
    "Posted content type isn't multipart/form-data"
    I would like to know why I am getting null values returned when using Post. I am using the following to get the values from the name=value passed to the servlet.
    String strIndustry = request.getParameter("frmIndustry");
              String strCompany = request.getParameter("frmCompany");
              String strCollabType = request.getParameter("frmCollaboration");
    I have another form where the user can search information in a database that works just fine w/ either Get or Post
    Or perhaps I am using oreilly MultipartRequest incorrectly??? but I copied it directly from another discussion.. ???
    any thoughts
    Thanks

    taybon:
    you could do it like this. in this case, you submit your form with the parameters (industry, company, collaboration), and upload your file at the same time. and in the target servlet, you can build your MultipartRequest object like this:
    MultipartRequest multi = new MultipartRequest(request, temp_location, 50 * 1024);where variable temp_location stands for a temporatory diretory for file uploading.
    and then you get your parameters, so you can build the directory with them. and after that, you can move your file to that directory using File.renameTo();
    but as i've suggested in my previous posting, i just recommend you upload your file in a separate form. and then you can perform an oridianry doPost form submit with those parameters. or you may have problems with the file uploading. (this is just my personal experiences with Multipart).
    there is one other thing i'd like to mention, file.renameTo() won't work if you need to move files to a network drive in windows. it won't work if you move files across file systems in unix.
    Song xiaofei
    Developer Technical Support
    Sun Microsystems
    http://www.sun.com/developers/support

  • Portal does not retain HTTP request parameters

    We are trying to do some basic pagination functionality using JSP tags. The problem that we are having is the JSP tag places request parameters in the URL that it creates. The tag then expects that these parameters will be available in the request when the page is rendered after the link is clicked. This JSP tag works great with normal pageflows but with the Portals concept of nested pageflows this no longer works.
    The problem is that these request parameters are not available in the request but only in the scoped request. How can the JSP tag in the JSP page get these parameters out of the request object?
    I can see the parameters in the ScopedRequest but not in the normal request. This is a major issue since the JSP tag has no knowledge (nor should it have to) of the concept of a Scoped request. The pageflow can access the parameters in the scoped request but there is no way to set parameters in a request.
    Is there a patch that places the parameters in the real request? Is there a work around for this?
    Thanks,
    Chris

    A couple options -
    1. Try using the OuterRequest
    2. You can prefix the portletinstance to the request parameters to get them from the main request object
    3. Try using the BEA grid for pagination OOTB.
    Hope this helps :)
    Kunal

  • Parsing the return value from a http request into a xml document?

    suppose a url "http;//abc.com/index.asp" that return a string like this:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <bbsend>
    <title>xml testing</title>
    - <record>
    <sender>111111</sender>
    <date>2004-01-05 04:11:44</date>
    <message>yes!</message>
    </record>
    - <record>
    <sender>22222222</sender>
    <date>2004-01-14 01:06:31</date>
    <message>A</message>
    </record>
    </bbsend>
    how can i parsing this return value into a xml document???
    i try something like this:
    URL url = new URL("http://abc.com/index.asp");
    HttpURLConnection http = (HttpURLConnection)url.openConnection();
    DataInputStream in = new DataInputStream(http.getInputStream());               
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    document = builder.parse(in);
    System.out.println(document.getNodeValue());
    But fail , can anyone help

    do u mean get the xml content??
    i am doing a project with BBSend
    [email protected]

  • Newbie: what is the equivalent of passing request parameters?

    Hi-
    I am new to JSF. I have read many tutorials and articles. I still don't get one concept about passing parameters. Note: I don't want to store stuff in the session unless I have to.
    Let's say I have a page with a list of users. I layout the page with a panelGrid. Each row of the table has the first and last name of the user. If a user clicks on the name of a user on the user list, it should go to the user profile page. The backing bean for the user list page will be the UserListBean. It has a method called getUsers() that returns a List of User objects.
    For the View User page, I have a ViewUserBean. The ViewUserBean retrieve the entire profile for that user.
    How do I pass the user ID to the ViewUserBean? In struts, I would pass it as a request parameter (I would manually write the link URL with the userID). I know I can use the request like that in JSF, but that seems ugly. I looked at the code of the J2EE bookstore tutorial and it does a funky thing with all sorts of data stored in the session.
    What is the best way to request a page and "pass in" a userID?
    Thanks for your help.
    Adam

    I have a case on my current project very similar to your case. What you want, very simply, is an easy way to allow faces to handle URLs like http://www.domain.com/showUserDetails?userId=50
    The natural trouble is that when loading the page, there is no action to use to prefetch the User object based on the Request Parameters in JSF.
    All the solutions above either rely on the session or they are exceedingly complex. This case is actually very easy to do and is very straight forward using Managed Properties and a Request Scope bean...
    Here is the rather straight forward solution I used...
    First, make a "ShowUserDetailsBean" which represents the "logic" for this page.
    public class ShowUserDetailsBean
        /** Will point to the actual user service after dependency injection*/
        private UserService userService;
        /** Will hold the userId from the HTTP Request Parameters*/
        private String userId;
        /** Will hold a lazy loaded copy of the User object matching userId*/
        private User user;
        public void setUserService(UserService userService) {
            this.userService = userService;  //dependecy injection
        public void setUserId(String userId) {
           this.userId = userId;  //dependency injection
        /** Lazy loads the User object matching the UserId */
        public User getUser() {
            //Trap the case where the URL has no userId
            if (userId == null) return null;
            if (user == null) {
                user = userService.getUser(userId);  //Lazy Load
            return user;
    }Next, configure the managed properties in faces-config.xml
    <faces-config xmlns="http://java.sun.com/JSF/Configuration">
      <managed-bean>
        <managed-bean-name>userService</managed-bean-name>
        <managed-bean-class>foo.UserServiceImpl</managed-bean-class>
        <managed-bean-scope>application</managed-bean-scope>
      </managed-bean>
      <managed-bean>
        <managed-bean-name>showUserDetails</managed-bean-name>
        <managed-bean-class>foo.ShowUserDetailsBean</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
        <managed-property>
          <property-name>userService</property-name>
          <property-class>foo.UserService</property-class>
          <value>#{userService}</value>
        </managed-property>
        <managed-property>
          <property-name>userId</property-name>
          <property-class>java.lang.String</property-class>
          <value>#{param.userId}</value>
        </managed-property>
      </managed-bean>Finally, you just make your webpage as you normally would...
    <h:outputText value="#{showUserDetails.user.userId}"/>
    <h:outputText value="#{showUserDetails.user.firstName}"/>
    <h:outputText value="#{showUserDetails.user.lastName}"/>
    Now you're ready to test, so you visit the page
    http://www.domain.com/showUserDetails?userId=50
    And your user details with userId=50 appears!
    It's just that simple!
    Regards,
    Doug
    Caveat: I haven't added any sample logic to handle cases where you visit:
    http://www.domain.com/showUserDetails
    without specifying a userId. I suggest you add some basic logic to your page to handle this case more gracefully.

  • Filter to convert HTTP request to JNLP arguments fails every other time

    I want to pass HTTP request parameters to a Java Web Start program as arguments. I have implemented a filter which adds the arguments from the request parameters using XML DOM, and I also set the Last-Modified date to the current date/time. [ I am sort of thinking I should put the date as the file date -- not sure ]
    The filter works successfully ever other time I invoke a given URL. If I switch parameters, it looks like the filter works every time.
    When the filter works, there are HTTP GET and HEAD requests. When the filter fails, there are three HEAD requests and one GET request. Using the apache soap TCP Tunnel/Monitor, it looks like the HTTP request parameters aren't being passed for the second GET.

    Varad and Sc0tt,
    Thank you both for your responses.
    Varad – Yes, I can/will reduce the amount of data so it does not cause the tabular form to go over the 2000 field limit. If that is not possible, I will at least make the users aware of this issue. Since the same data is used for the other pages in the application, the users might want to keep all the data.
    Sc0tt – thanks for providing the information for your environment and settings. To plan for the future, we will have to set the value to something high also, around 8-10K range, and adjust later if we have to.
    Thank you both, I will mark both of your answers as helpful and the question as being answered.
    DP
    (Have either of you used the jquery datepicker solution? If yes, can you please take a look at my thread: Thread: Jquery Datepicker calendar problem with page scrolling
    Jquery Datepicker calendar problem with page scrolling

  • Reading Null Values From Request Object

    For a proof-of-concept, I wrote a mini program that has 2 files. File #1 is main.html. There's a javascript function called addNewRowToThisTable that isn't displayed but it basically allows the user to create as many rows in the table as user desires. When the "Submit" button is clicked the file ReadIt.jsp is called and it's supposed to display on the first and last names of the people who had the checkbox for that row checked. The best way to illustrate the problem I'm having is through an example. Let's say there are 3 rows:
    [x] Alan Anderson [Add New Row]
    [ ] Bob Brady [Add New Row]
    [x] Carl Chadwick [Add New Row]
    [Submit]
    Let's assume that only rows 1 and 3 are clicked. After the form is submitted the JSP will print...
    firstNameArr .length = 3
    lastNameArr .length = 3
    isSelectedArr.length = 2
    firstNameArr[0] = Alan
    lastNameArr[0] = Anderson
    firstNameArr[1] = Bob
    lastNameArr[1] = Brady
    Unfortunately firstNameArr[1] and lastNameArr[1] should be "Carl", and "Chadwick" respectively. I know the reason why it's failing is because my program relies on the array index of the "isSelected" field to perfectly match up with the "firstName" and "lastName" fields. It's unreliable because if the checkbox for a row is not checked then it won't show up in the JSP String array isSelectedArr. I'm not really sure how to get around this problem. I have 2 ideas at the beginning of solutions but I'm not sure how to follow through on either and I'm also not sure if either is the proper approach to take. My guesses are...
    1) There's some way in JSP to use "getParameterValues('isSelected')" to retrieve the full array of "isSelected" items regardless of whether or not they're checked. That would guarantee that my arrays would match up correctly. Unfortunately, I haven't been able to find this.
    2) Maybe I can put in some sort of ID in the "isSelected" field that would relate the checkbox to the rest of the data in the row. The problem with this is that I've got a dynamic # of rows due to my addNewRowToThisTable method.
    So the bottom line is that I'm thoroughly stumped. If anyone can offer advice I'd be very grateful.
    main.html
    <html><head><title></title></head><body>
    <form method="get" action="ReadIt.jsp">
    <table>
    <tr>
         <td><input type="checkbox" name="isSelected" /></td>
         <td><input type="text" name="firstName" /> </td>
         <td><input type="text" name="lastName" /></td>
         <td><input type="button" value="Add New Row" onClick="addNewRowToThisTable(this)" />
    </tr>
    <tr>
         <td colspan=4><input type="submit" value="submit"></input></td>
    </tr>
    </table>
    </form>
    </body></html>
    ReadIt.jsp
    <%
    String[] isSelectedArr = request.getParameterValues("isSelected");
    String[] firstNameArr = request.getParameterValues("firstName");
    String[] lastNameArr = request.getParameterValues("lastName");
    if (firstNameArr != null) System.out.println("firstNameArr .length = " + firstNameArr .length);
    if (lastNameArr != null) System.out.println("lastNameArr .length = " + lastNameArr .length);
    if (isSelectedArr != null) {
         System.out.println("isSelectedArr.length = " + isSelectedArr.length);
         for (int i=0; i < isSelectedArr.length; i++) {
              System.out.println("firstNameArr["+i+"] = " + firstNameArr);
              System.out.println("lastNameArr["+i+"] = " + firstNameArr[i]);
    %>

    it's sort of a kludge, but try this:
    your javascript function adds new for fields that get submitted to the servlet. name the checkboxes uniquely with a patterm with said function, say isSelected-1, isSelected-2, isSelected-3... now also name the first and last name fields the same way. fname-1, fname-2, fname-3... lname-1,lname-2,lname-3.
    when you get to the page that is supposed to match them up, go through all the request parameters looking for those that start with "isSelected-" take the last char (the index), convert it to an int, and then from your request do:
    String first = request.getParameter("fname-" + indexThatWasFound);
              String last = request.getParameter("lname-" + indexThatWasFound);in looping over the request for each index recovered from the searching of the request for the isSelected-n values, you will get the matching first and last name.
    I TOLD you it was a kludge.

  • Geting null values from request

    hi!
    i m producing this code through out.println() method in my page and then using java script
    i am submiting this page to another page
    <td width="56%"><textarea name="question_no_1"></textarea></td>
    <input name="question_no_1_radio1" type="radio" value="radio"></td>
    <td width="59%"> <textarea name="question_no_1_ans1"></textarea></td>
    <input type="radio" name="question_no_1_radio2" value="radio"></td>
    <td><textarea name="question_no_1_ans2"></textarea></td>
    <input type="radio" name="question_no_1_radio3" value="radio"></td>
    <td><textarea name="question_no_1_ans3"></textarea></td>
    <input name="question_no_1_radio4" type="radio" value="radio"></td>
    <td><textarea name="question_no_1_ans4"></textarea></td>
    but when i submit it to the other page and try to retrieve value of parameter "question_no_1"
    through the bellow statement it shows a null value but i have given a value previously by
    typing a question in it
    System.out.println("the Body Of The First Question Is "+request.getParameter("question_no_1"));
    can anybody help me what is going on here.
    also if i try to normaly submit first page (ie <form="form1" method="post" action="other_jsp_page.jsp"> ) then the statement in the next page gives me the correct value but
    i have to submit the first paper through java script.
    if u want to see full detail of my code then go to the following link
    http://forum.java.sun.com/thread.jsp?thread=309254&forum=45&message=1237097
    thanx in advance

    OK, your problem is that you are not submmiting the values to the other page. When you do the
    --> document.forms[0].submit();
    in JavaScript, the form has to action defined
    --> <form name="form1" method="" action="">
    So, the page does nothing. The line following the submit just changes the location of the page, IT DOES NOT POST the values.
    One solutions is the following:
    1.- define an action for your form:
    <form name="form1" method="POST" action="'save_paper.jsp">
    2.- Then create a JavaScript function that validates the fields and simply return "true" if the form is correct, and false if there is a problem (just a little modification of the one you have).
    3.- Then modify your submit button:
    Instead of:
    <input type="button" name="Save" value="Save" onClick="validateField()">
    Try:
    <input type="SUBMIT" value="Save" onclick="validateField();">

  • Null value in Session vars and request.getParameter

    We're migrating our application from iPlanet.
              Under iPlanet, when we looped through a resultset and set the values to
              session variables - it worked fine, even when a resultset value was null,
              but in WebLogic, I get the following error:
              java.lang.IllegalArgumentException: key/value is null
              Is there anyway to "turn this off" so it behaves like iPlanet?
              My second question is that we have many JSP's that check to see if a
              parameter is null in javascript:
              Here's the code:
              function onLoad() {
              document.form.elements[0].focus();
              // Check to see if the user is coming from a shortcut
              var imageName = "<%=request.getParameter("imageName")%>";
              if (imageName == "null") {
              selectTop("<%=select_image%>");
              } else {
              selectTop(imageName);
              <% if (tableIndex == 2) { %>
              loadShortcutIcon(13,100);
              <% } %>
              in iPlanet, when the parameter "imageName" is not in the URL, the javascript
              variable gets set to "null" - but in WebLogic, it is set to a blank string -
              "". Is there anyway to make this return null like iPlanet?
              Thanks,
              Matt
              

    Hi,
    the URL parameter is added just for the request to the page. When you press the command button then you issue a new request that does not have a URL parameter added. To work around this, you can use a PhaseListener that stores the URL request parameter in the session for later use
    Frank

  • WHY? Request Parameters From Form are NULL

    I have the following process, which by the way has been working successfully for months, until just recently.
    1) User comes to JSP page to upload images through a form that has the <input type="file"> fields as well as <input type="hidden"> to hold a few essential values.
    2) User submits form, form action attribute set to go to a Servlet
    3) Servlet reads all request params and inserts the images into a database.
    I have code to read in the images...I use classes from the org.apache.commons package.
    I could only assume it was the servlet that was the problem, but doubted that because why would it work all these months than suddenly stop.
    I set up a test html page with a form and had it go to a jsp page to read the request params and print them out. To my suprise they all had NULL values.
    Which tells me that the params aren't being read from the form.
    How could this be??
    Here is some example code snippets from my test pages:
    HTML PAGE
    <html><body>
    <form name="images" action="testing_operations.jsp" enctype="multipart/form-data" method="post">
    <input type="hidden" name="Customer_Number" value="4750">
    <table>
    <tr><td>
    <input type="file" name="image1" />
    </td></tr>
    <tr><td>
    <input type="file" name="image2" />
    </td></tr>
    <tr><td>
    <input type="submit" value="submit">
    </td></tr>
    </table>
    </form>
    </body>
    </html>JSP PAGE
    String cus = request.getParameter("Customer_Number");
    out.println("cus : " + cus +"<br>");
    String image = request.getParameter("image1");
    out.println("image: " + image); 
    I'm stumped...what am I doing wrong?
    I can't continue until I get this figured out, can anybody help me with this?
    Message was edited by:
    Love2Java

    I ran my original app with the enctype and without it:
    the tomcat dos-prompt that shows exceptions lists out this below...
    org.apache.commons.fileupload.FileUploadException: Processing of multipart/form-data request failed.
    C:\jakarta-tomcat\temp\upload_00000009.tmp (The system cannot find the path specified)
    at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:429)
    at org.apache.jsp.testing_operations_jsp._jspService(testing_operations_jsp.java:113)The code on line 113 in testing_operations.jsp is:
    List items = upload.parseRequest(request);
    and what is this .tmp file its trying to find?? I'm passing it an image off my local disk, not a .tmp file, there isn't even a temp folder in my jakarta-tomcat main folder....
    It is failing on this line because it isn't reading the request parameters sent in, thus why too when I test for the values of the params they return null.
    True, when I take out the enctype my test page will show the values, but this doesn't help me. I need that enctype attribute in there to process the images sent in through the fields.
    So where does this leave me??
    I went to the apache site for the commons upload and they have a more current version than what I'm using which is version 1.0, they have 1.1.1
    I downloaded the new version but had no success in using it, the compiler couldn't find a class I attempted to use.
    I still don't understand how this could be working and then suddenly stop.

  • 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&#51032;)
    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.

  • How to get the number and response time of HTTP request through Weblogic?

    hi,
    does anybody know how to get the HTTP request information through Weblogic server, such as the number of HTTP request in 1 min and the average response time of request in 5 mins ?
    Or is there anyway i can do it through monitoring and get these data then? If so, please help tell me.
    Thanks in advance
    BTW, we don't have the 3rd-party monitoring tool here.

    Hi,
    tables: usr02, usr41.
    data: OPCODE_MODE_COUNT(1) TYPE X VALUE 3,
          modes like sy-index,
          u_MODES LIKE MODES.
    select * from usr02.
      select * from usr41 where BNAME = usr02-bname.
        CALL 'ThUsrInfo' ID 'OPCODE' FIELD OPCODE_MODE_COUNT
          ID 'TID' FIELD usr41-TERMID
          ID 'MODES' FIELD MODES.
        IF SY-SUBRC = 0.
          u_MODES = u_MODES + MODES.
        ENDIF.
      endselect.
      if sy-subrc = 0.
        write:/ usr02-bname, u_MODES.
      endif.
      clear u_modes.
    endselect.

  • Differentiating HTTP Request through a URL and a value change listener

    Version Details:
    Oracle JDeveloper 11g Release 1 11.1.1.4.0
    Studio Edition Version 11.1.1.4.0
    Build JDEVADF_11.1.1.4.0_GENERIC_101227.1736.5923
    IDE Version: 11.1.1.4.37.59.23
    Product ID: oracle.jdeveloper
    Product Version: 11.1.1.4.37.59.23
    ADF Business Components     11.1.1.59.23
    Java(TM) Platform     1.6.0_21
    Oracle IDE     11.1.1.4.37.59.23
    Versioning Support     11.1.1.4.37.59.23
    Base Details:
    The Product, that a different team is working on (<i><b>which I cannot access, code, touch,...</b></i>), creates reports and essentially generates a URL with a bunch of parameters:
    http://<host>:<port>/myApplication/main.jspx?parameter1=value1&parameter2=value2...When the user clicks on an "Edit" button, a modal popup window is displayed (using jQuery) with an embedded iFrame with its source pointing to the above URL.
    The "myApplication" is an ADF application which brings up an ADF form based on the parameters. Once the user enters the data, validations occur and the data is written into a total of 3 different Tables in the Database. Once the operation is finished, the user closes the popup by clicking on the "X" button of the popup window, which essentially does "popup.*hide()*".
    Limitations:
    <li>Since there are varied combination of parameter values and associated ADF forms, taskflows is not* an option.
    <li>Since the logic of generating the ADF form is not straightforward, ADF BC is not* an option.
    <li>Since validations are based on the value change listeners, the managed bean has to be a session scope_ bean.
    Problem:
    When, for the first time, the user clicks on the Edit button with a particular set of parameter values, the corresponding ADF form is displayed and things work normal. Since the managed bean is under session scope, the form generated for the first popup window stays the same for any subsequent popup windows, even when the URL and its parameters are completely different. As I can not listen to the popup close event, I cannot invalidate my session either.
    I tried using filters in the web.xml to grab the request and apply the business logic. Due to the presence of multiple value change listeners (too many <tt>autosubmit=true</tt>), every value change listener triggers a request and so the business logic gets applied with every value change.
    After some tests, I deduced that the difference between the call from iFrame and the call from value change is the HTTP Request Method - GET for iFrame and POST for value change listener. So in my filter I apply the business logic when there is a GET request and not apply when its a POST request.
    Turns out, that is not a valid enough differentiation between the two requests being made. Sometimes, even the value change listeners are issuing a GET request.
    Question:
    *<font color="red">1</font>*. Is there a way to force the value change listeners to always trigger a POST request?
    *<font color="red">2</font>*. Is there a way to differentiate the requests originating from the other team's Product and those generated by my own value change listeners?
    *<font color="red">3</font>*. Is there a different approach, incorporating the above-mentioned limitations, to clear out the session scope each time when a request is made through iFrame? That is, whenever a request is made through the other team's Product?
    Edited by: user737922 on Apr 13, 2011 10:58 AM

    _(Temporary) Solution_:
    Summary:
    I am using the request parameter <b><tt>_adf.ctrl-state</tt></b> to differentiate between the HTTP requests that my application receives.
    Details:
    When I receive the request from the other team's Product, I receive a <tt>GET</tt> and a <tt>adf.ctrl-state</tt> value which I store into a local variable in my session-scoped managed bean. The <tt>adf.ctrl-state</tt> value stays the same for all requests (<tt>GET</tt> or <tt>POST</tt>) made from within my own application. It changes only when there is a new request from the other team's Product.
    Also, as my application is accessed through an iFrame, there is no possibility of the generated URL being modified by the end-user.
    For now it seems that the solution is appropriate but I am not fully confident if relying on the <tt>_adf.ctrl-state</tt> value is the best approach.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • 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.

  • Plugin login appears after initial weblogic everytime applet makes http request

    When I visit a page I get the initial login to the page via the realm followed
    by a java plugin loging (shown in attached pictures) every time the applet makes
    an http request. This stops the applet working, any idea how I can solve this?
    [pictures.doc]

    Any idea how to do thisn not really sure what you mean. I already inclued the session
    Id in the URL. Code we use to open connection is
    URL url = new URL(serverProtocol + "://" + serverName + ":" + serverPort + "/"
    + servlet + ((sessionId==null)?"":"?sessionid=" + sessionId));
    URLConnection uc = url.openConnection();
    uc.setDoOutput(true);
    uc.setDoInput(true);
    uc.setUseCaches(false);
    uc.setRequestProperty("Content-type", "java-internal/" + object.getClass().getName());
    Robert Patrick <[email protected]> wrote:
    If you are making HTTP requests from within an applet, you will need
    to provide the
    right HTTP headers to correctly identify that each subsequent request
    is from the
    previously logged-in user (e.g., the cookie that contains the WLS session
    ID
    attached to the response from logging in).
    andrea bates wrote:
    When I visit a page I get the initial login to the page via the realmfollowed
    by a java plugin loging (shown in attached pictures) every time theapplet makes
    an http request. This stops the applet working, any idea how I cansolve this?
    Name: pictures.doc
    pictures.doc Type: WINWORD File (application/msword)
    Encoding: base64

Maybe you are looking for

  • One iTunes account - multiple computers

    I purchased an audio book on my new laptop, and now want to play it on my desktop. I've done this kind of thing before with my old laptop and never had problems. When I attempt to play my recently acquired audiobook on my desktop, iTunes prompts for

  • Pivot table group by is not working

    Hi Gurus, I am using OBIEE 10g I have Dimension and Fact table. In fact table i have some measures and which are calculated and some are aggregated functions. The Geo dimension has Division, region and Market. In pivot table when i am grouping the va

  • Capturing/dumping active thread, queue length and throughput to a file

    Hi, I would like to capture active thread information, queue length, and throughput information to a file for later analysis. This would be similar to setting the verbosegc flag at the java startup to dump the heap space memory usage. Is there a way

  • Show subtotals in Power pivot when filtering

    Hello, I would love to show subtotals of all others and grand total when selecting top 10 in power pivot. Is that possible?

  • Upgraded and now problems

    I have a Mac and I kept getting annoying messages to upgrade my Adobe Flash Player.  I was on Allrecipes web site and trying to play a cooking video and it wouldn't play so I installed the latest Adobe Player.  Well now everytime I open Facebook I ge