This discussion is archived
8 Replies Latest reply: May 17, 2013 6:05 AM by Michael Ferrante (Oracle) RSS

WEBUTIL_HOST.NONBLOCKING with quotes not works more !

alinzenb Newbie
Currently Being Moderated
Hi,


Forms 10.1.2.3
Java 1.6_27, 1.6_34, 1.7_21
windows 7
Office 2010

the interesting thing is we have changed nothing in the code for last 3 years
We have not performed a Windows or Java update.
Overnight, the call does just work like in example 2. But then I can not use more space in the Filename !!

1)
the last 3 years was used this call:
WEBUTIL_HOST.NONBLOCKING('cmd /c "C:\Program Files (x86)\Microsoft Office\Office14\winword.exe" "C:\tmp\Docs 2013.doc"');

2)
This call works now
Space was removed. Docs2013.doc instead Docs 2013.doc and without quotation marks
WEBUTIL_HOST.NONBLOCKING('cmd /c "C:\Program Files (x86)\Microsoft Office\Office14\winword.exe" C:\tmp\Docs2013.doc');

3)
This not works
space was removed. Docs2013.doc instead Docs 2013.doc and again in quotes
WEBUTIL_HOST.NONBLOCKING('cmd /c "C:\Program Files (x86)\Microsoft Office\Office14\winword.exe" "C:\tmp\Docs2013.doc"');


I do not understand why this behavior occurs suddenly
someone has an idea ?

thx
Alfred
  • 1. Re: WEBUTIL_HOST.NONBLOCKING with quotes not works more !
    Michael Ferrante (Oracle) Guru Moderator
    Currently Being Moderated
    There have been some significant changes in Java 7U21 which will impact the way CLIENT_HOST and WEBUTIL_HOST will now work. We are aware of these changes and are trying to determine how much of the old behavior we can restore. If your issue only reproduces in Java 7U21, feel free to contact Support and mention bug 16686443

    That said, I would recommend using this code in place of yours:
    Declare
         my_cmd varchar2(255);
    Begin
         my_cmd := 'rundll32 shell32,ShellExec_RunDLL '|| :t1;
         CLIENT_HOST(my_cmd);
    End;
    In the above code, :t1 might be a text field where the user would enter the path and name of the file to open. For example: C:\tmp\Docs 2013.doc

    Alternatively, if you feel the need to hard code the value, it might look like this:
    Declare
         my_cmd varchar2(255);
    Begin
         my_cmd := 'rundll32 shell32,ShellExec_RunDLL C:\tmp\My Directory\test.xls';
         CLIENT_HOST(my_cmd);
    End;
    This code has been tested on Forms 11.1.2.1 using Java 7U21. The same code should work on Forms 10.1.2.3, but keep in mind that Java 7U21 is not supported for use with Forms 10.
  • 2. Re: WEBUTIL_HOST.NONBLOCKING with quotes not works more !
    New Rodeo Newbie
    Currently Being Moderated
    It appears that this simply removes Java from the equation, which is fine.

    However, I can't seem to get the rundll32 method to accept parameters to the Excel file.
    rundll32 shell32,ShellExec_RunDLL \\my_server\excel\my_excel_file.xlsm /e/35213
    It will open Excel, but not get the data from the DB. It then locks the Excel and the Forms sessions. The must be killed via Task Manager.

    The webutil_host.nonblocking was added for Office 2007 and Forms 11g to prevent this type of locking.
    Do we go back to the old way?
    cmd /c "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" /dde \\my_server\excel\my_excel_file.xlsm /e/35213
    Running:
    Windows 7 and XP
    32-bit & 64-bit
    MS Office 2007 & 2010
    some users have admin rights on their boxes (but most do not)
    11g Forms on Linux servers
    11g database

    Thanks !
  • 3. Re: WEBUTIL_HOST.NONBLOCKING with quotes not works more !
    New Rodeo Newbie
    Currently Being Moderated
    The executable path is found by passing the extension of the file to be opened to the following:
         -- Do the registry lookup for the extension
         v_ExtHandler := Client_Win_API_Environment.Read_Registry
                         ('HKEY_CLASSES_ROOT\'||v_extension, 
                          chr(0), 
                          false);
         
         -- Then see what executable the handler invokes:
         v_path := Client_Win_API_Environment.Read_Registry
                 ('HKEY_CLASSES_ROOT\'||v_ExtHandler||'\shell\Open\command',
                  chr(0),
                  false);
  • 4. Re: WEBUTIL_HOST.NONBLOCKING with quotes not works more !
    New Rodeo Newbie
    Currently Being Moderated
    I looked in the Support site, but there is no indication as to a patch for bug 16686443.
    Anyone know anything more on this?

    This is a serious production issue, but I see no point in opening a new Service Request since the bug is already defined.

    Thanks.
  • 5. Re: WEBUTIL_HOST.NONBLOCKING with quotes not works more !
    alinzenb Newbie
    Currently Being Moderated
    The bug is known. we wait for the workaround from Oracle.

    Michael:
    we have more than 150 calls with this code (550 Forms Modules). A short-term adjustment is not possible.
    The error only occurs in conjunction with java 1.7 update 21. we go back tu update 17
  • 6. Re: WEBUTIL_HOST.NONBLOCKING with quotes not works more !
    Michael Ferrante (Oracle) Guru Moderator
    Currently Being Moderated
    At this point a permanent solution has not been engineered. However, it is likely that the solution may require some pl/sql changes in some cases. This may not be avoidable. For changes across many modules, the Forms API can be used. Hopefully, we will have a fix soon.
  • 7. Re: WEBUTIL_HOST.NONBLOCKING with quotes not works more !
    alinzenb Newbie
    Currently Being Moderated
    We are moved back to update 17.
    We have found that the same problem occurs under 1.6 Update 45. We have moved back to update on 43.
  • 8. Re: WEBUTIL_HOST.NONBLOCKING with quotes not works more !
    Michael Ferrante (Oracle) Guru Moderator
    Currently Being Moderated
    We are nearing a solution which should address the majority of situations. There may be some situations where a minor code change may be necessary, however this apparently may not be avoidable. Because some of the functionality may need to be changed, it is important that you keep this in mind if you decide to not wait for the fix and start coding work-arounds now. Likely some work-arounds will not work after the new patch has been provided and you will again need to make code changes.

    I recommend that anyone facing this issue contact Support and monitor the bug I mentioned earlier. Hopefully a patch will be made available soon. Keep in mind that the only Forms versions entitled to a patch are 11.1.1.6, 11.1.1.7, 11.1.2.0, and 11.1.2.1. Older versions would only be entitled if you have an Extended Maintenance agreement which is still valid for that product.

    Anyone not using one of the above mentioned versions should consider upgrading as soon as possible for a variety of reasons, this being only one.

    To be clear, a fix is NOT* available at this time. This is still under investigation (as of 5/17/2013).

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points