Script Call from ADF

Hi All,
can we call unix Script (Bash script) from ADF?.
Is there any option of doing it ?
Regards,
Suresh kumar.k

you can create a bean for the ADF binding the button to the actionlistenr.. and call the script just as a normal java call..
just look at this
http://stackoverflow.com/questions/525212/how-to-run-unix-shell-script-from-java-code

Similar Messages

  • Photoshop scripting calls from Adobe Configurator panels

    Can javascritpt functions executing from an HTML element inside a panel affect the photoshop scene?  I know it can using the scripting toolkit, but I'm trying to do this in the Adobe Configurator.  In Configurator I created a new panel with an HTML panel and a button inside it that executes a javascript function on click "createDocument".  When I bring this into photoshop, I can load the panel and click on the button, but I never get a new document created.  If I uncomment the "alert" line, reexport the plugin, and click on the button, I get the alert, but still don't get a new document. 
    var createDocument = function() {
        app.documents.add(2,4);
        //alert("creating new doc!");
    I've tried other functions like creating layers, but still don't see anything happening in photoshop affecting the UI.  It's even more frustrating that I don't see any kind of error message that is happening.  My conclusions seem to imply this panel can't call the photoshop files for some reason (running in a different VM, wrong namespace, etc.).  Has anyone been able to make photoshop scripting calls from inside a configurator panel? 

    You might have better luck asking the in the Configurator forum. http://forums.adobe.com/community/labs/configurator/

  • Capturing log files from multiple .ps1 scripts called from within a .bat file

    I am trying to invoke multiple instances of a powershell script and capture individual log files from each of them. I can start the multiple instances by calling 'start powershell' several times, but am unable to capture logging. If I use 'call powershell'
    I can capture the log files, but the batch file won't continue until that current 'call powershell' has completed.
    ie.  within Test.bat
    start powershell . \Automation.ps1 %1 %2 %3 %4 %5 %6 > a.log 2>&1
    timeout /t 60
    start powershell . \Automation.ps1 %1 %2 %3 %4 %5 %6 > b.log 2>&1
    timeout /t 60
    start powershell . \Automation.ps1 %1 %2 %3 %4 %5 %6 > c.log 2>&1
    timeout /t 60
    start powershell . \Automation.ps1 %1 %2 %3 %4 %5 %6 > d.log 2>&1
    timeout /t 60
    start powershell . \Automation.ps1 %1 %2 %3 %4 %5 %6 > e.log 2>&1
    timeout /t 60
    start powershell . \Automation.ps1 %1 %2 %3 %4 %5 %6 > f.log 2>&1
    the log files get created but are empty.  If I invoke 'call' instead of start I get the log data, but I need them to run in parallel, not sequentially.
    call powershell . \Automation.ps1 %1 %2 %3 %4 %5 %6 > a.log 2>&1
    timeout /t 60
    call powershell . \Automation.ps1 %1 %2 %3 %4 %5 %6 > b.log 2>&1
    timeout /t 60
    call powershell . \Automation.ps1 %1 %2 %3 %4 %5 %6 > c.log 2>&1
    timeout /t 60
    call powershell . \Automation.ps1 %1 %2 %3 %4 %5 %6 > d.log 2>&1
    timeout /t 60call powershell . \Automation.ps1 %1 %2 %3 %4 %5 %6 > e.log 2>&1
    Any suggestions of how to get this to work?

    Batch files are sequential by design (batch up a bunch of statements and execute them). Call doesn't run in a different process, so when you use it the batch file waits for it to exit. From CALL:
    Calls one batch program from another without stopping the parent batch program
    I was hoping for the documentation to say the batch file waits for CALL to return, but this is as close as it gets.
    Start(.exe), "Starts a separate window to run a specified program or command". The reason it runs in parallel is once it starts the target application start.exe ends and the batch file continues. It has no idea about the powershell.exe process
    that you kicked off. Because of this reason, you can't pipe the output.
    Update: I was wrong, you can totally redirect the output of what you run with start.exe.
    How about instead of running a batch file you run a PowerShell script? You can run script blocks or call individual scripts in parallel with the
    Start-Job cmdlet.
    You can monitor the jobs and when they complete, pipe them to
    Receive-Job to see their output. 
    For example:
    $sb = {
    Write-Output "Hello"
    Sleep -seconds 10
    Write-Output "Goodbye"
    Start-Job -Scriptblock $sb
    Start-Job -Scriptblock $sb
    Here's a script that runs the scriptblock $sb. The script block outputs the text "Hello", waits for 10 seconds, and then outputs the text "Goodbye"
    Then it starts two jobs (in this case I'm running the same script block)
    When you run this you receive this for output:
    PS> $sb = {
    >> Write-Output "Hello"
    >> Sleep -Seconds 10
    >> Write-Output "Goodbye"
    >> }
    >>
    PS> Start-Job -Scriptblock $sb
    Id Name State HasMoreData Location Command
    1 Job1 Running True localhost ...
    PS> Start-Job -Scriptblock $sb
    Id Name State HasMoreData Location Command
    3 Job3 Running True localhost ...
    PS>
    When you run Start-Job it will execute your script or scriptblock in a new process and continue to the next line in the script.
    You can see the jobs with
    Get-Job:
    PS> Get-Job
    Id Name State HasMoreData Location Command
    1 Job1 Running True localhost ...
    3 Job3 Running True localhost ...
    OK, that's great. But we need to know when the job's done. The Job's Status property will tell us this (we're looking for a status of "Completed"), we can build a loop and check:
    $Completed = $false
    while (!$Completed) {
    # get all the jobs that haven't yet completed
    $jobs = Get-Job | where {$_.State.ToString() -ne "Completed"} # if Get-Job doesn't return any jobs (i.e. they are all completed)
    if ($jobs -eq $null) {
    $Completed=$true
    } # otherwise update the screen
    else {
    Write-Output "Waiting for $($jobs.Count) jobs"
    sleep -s 1
    This will output something like this:
    Waiting for 2 jobs
    Waiting for 2 jobs
    Waiting for 2 jobs
    Waiting for 2 jobs
    Waiting for 2 jobs
    Waiting for 2 jobs
    Waiting for 2 jobs
    Waiting for 2 jobs
    Waiting for 2 jobs
    Waiting for 2 jobs
    When it's done, we can see the jobs have completed:
    PS> Get-Job
    Id Name State HasMoreData Location Command
    1 Job1 Completed True localhost ...
    3 Job3 Completed True localhost ...
    PS>
    Now at this point we could pipe the jobs to Receive-Job:
    PS> Get-Job | Receive-Job
    Hello
    Goodbye
    Hello
    Goodbye
    PS>
    But as you can see it's not obvious which script is which. In your real scripts you could include some identifiers to distinguish them.
    Another way would be to grab the output of each job one at a time:
    foreach ($job in $jobs) {
    $job | Receive-Job
    If you store the output in a variable or save to a log file with Out-File. The trick is matching up the jobs to the output. Something like this may work:
    $a_sb = {
    Write-Output "Hello A"
    Sleep -Seconds 10
    Write-Output "Goodbye A"
    $b_sb = {
    Write-Output "Hello B"
    Sleep -Seconds 5
    Write-Output "Goodbye B"
    $job = Start-Job -Scriptblock $a_sb
    $a_log = $job.Name
    $job = Start-Job -Scriptblock $b_sb
    $b_log = $job.Name
    $Completed = $false
    while (!$Completed) {
    $jobs = Get-Job | where {$_.State.ToString() -ne "Completed"}
    if ($jobs -eq $null) {
    $Completed=$true
    else {
    Write-Output "Waiting for $($jobs.Count) jobs"
    sleep -s 1
    Get-Job | where {$_.Name -eq $a_log} | Receive-Job | Out-File .\a.log
    Get-Job | where {$_.Name -eq $b_log} | Receive-Job | Out-File .\b.log
    If you check out the folder you'll see the log files, and they contain the script contents:
    PS> dir *.log
    Directory: C:\Users\jwarren
    Mode LastWriteTime Length Name
    -a--- 1/15/2014 7:53 PM 42 a.log
    -a--- 1/15/2014 7:53 PM 42 b.log
    PS> Get-Content .\a.log
    Hello A
    Goodbye A
    PS> Get-Content .\b.log
    Hello B
    Goodbye B
    PS>
    The trouble though is you won't get a log file until the job has completed. If you use your log files to monitor progress this may not be suitable.
    Jason Warren
    @jaspnwarren
    jasonwarren.ca
    habaneroconsulting.com/Insights

  • Unix SCRIPT CALL FROM PL/SQL

    How can I call an unix script from a PL procedure ?

    http://www.orafaq.com/scripts/c_src/extproc.txt

  • ActiveX can't create object when VB Script called from Labview

    I have an interesting issue that I can't find a solution for. I am using the DIAdem Run Script.VI in Labview to call a script that opens an Outlook object and sends an email. When the script is called via LabView I get this error:
    However, when I manually run the script from the DIAdem script tab it works as expected with no errors.
    This is the code:
    'Begin email send function
    Dim oOutlookApp
    Dim oOutlookMail
    Dim cnByValue : cnByValue = 1
    Dim cnMailItem : cnMailItem = 0
    ' Get Outlook Application Object
    Set oOutlookApp = CreateObject("Outlook.Application")
    ' Create Mail Item
    Set oOutlookMail = oOutlookApp.CreateItem(cnMailItem)
    ' Set Mail Values
    With oOutlookMail
    .To = "[email protected]"
    .Subject = "Report: " & Data.Root.ActiveChannelGroup.Name & " for " & CurrDate
    .Body = "test automatic report emailing with VB Script."
    ' Add Attachement
    Call .Attachments.Add(strLocFileName, cnByValue, 1 )
    ' Send Mail
    Call .Send()
    End With
     (Original code includes Option Explicit and all variables are properly included/declared, I just took the snippet of what's causing the error).
    I have looked at the following threads for info already:
    http://forums.ni.com/t5/DIAdem/Some-errors-when-calling-LabVIEW-VIs-Interactively-from-DIAdem/td-p/2...
    http://forums.ni.com/t5/DIAdem/Active-X-component-cannot-create-object-Diadem-8-1/m-p/71212/highligh...
    -I tried running the script via Windows explorer (per Brad's suggestion) by itself without the DIAdem specific functions and it runs fine.
    http://forums.ni.com/t5/DIAdem/Error-while-runing-diadem-asynchronous-script-from-labview-on/m-p/111...
    -I am not running the scripts asynchronously
    Using Windows 7 (64bit), DIAdem 11.2 and LabView 7.1.1
    Thank you.

    Hey techerdone -
    I'm afraid I personally can't be of much help - I tested your code both from DIAdem and from LabVIEW and each worked without issues in both cases (Outlook closed, Outlook open).  I'm using DIAdem 2011 SP1, LabVIEW 2011, and Outlook 2007...
    Derrick S.
    Product Manager
    NI DIAdem
    National Instruments

  • Remote Execution from Powershell Script called from Team Foundation Build

    Hello
       I am trying to deploy a sharepoint solution with a sharepoint script, with this approach:
    First i test the environment, using windows powershell console
    New-PSSession -ComputerName developmentserver01
    Enter-PSSession -computername developmentserver01
    d:
    cd d:\deploymentscripts
    .\deploysharepoint.ps1
     Then i start the automation:
       1.- TFS runs a build that call at the end to "deploy.ps1" locally in the build server. ---> this is working.
       2.- desploy1.ps1 copy the drop files to the development environment developmentserver01 shared folder.
       3.- after copy the files,  deploy1.ps1 connet with the development environment machine developmentserver01  using remote connection commands from powershell -->this is working.
       4.- this step fails, in this step i try to execute the deployment script deploySharepoint.ps1 that has copied in the development environment machine in the step 2.
         First using commands inside the script like in the powershell console, but i see that the commands are running inside the TFS build machine not in the machine that i connected whit remote connection
    d:
    cd d:\deploymentscripts
    .\deploysharepoint.ps1Later using different options (invoke-command, ...) only this optionk works:
    Invoke-Command -computername developmentserver01 -scriptblock{d:\DeploymentScripts\deploysharepoint.ps1 -solutionNames @("parameter1")}
    The problem it´s that i think that invoke-command don´t work like the commands using powershell console , because the script show the error that the user don´t haver permissions for accesing the Farm of sharepoint. If i run the script with remote session in a power shell console as show at the beginning of the post, all things work fine. How can i run the remote script deploysharepoint.ps1 with remote session from the script desploy.ps1, like using powershell console?

    have you tried passing credentials to it maybe use credssp, you could pass new session to your invoke-command although this shouldnt make difference, i basically think that when you opened this ps session it sees you admin therefore when you do the enter
    session you are still admin, when you use the invoke i am not so sure it keeps your creds..
    $s = New-PSSession -ComputerName developmentserver01
    Invoke-Command -session $s -scriptblock{d:\DeploymentScripts\deploysharepoint.ps1 -solutionNames @("parameter1")}

  • Vbs script called from a service cannot execute certain commands

    We have a service, running as domain admin user on Win Svr 2008 std ed, that must execute vb scripts.  The scripts execute, but calls to SETX.exe using Shell.Run fail to set environment variables.  However, SETX returns no errror
    msg. 
    If I run the same script within a CMD window with elevated privilege (e.g. Administrator), the script works as expected and environment variables are set.
    What is going on?  File creation fails as well.
    The call looks like this:
    gnReturnCode= RunCmd("setx.exe UD_UPGRADING_RELEASE "True" /m",True)
    Where RunCmd is as follows:
    ' Function:  RunCmd( ByVal strCmd, ByVal bWait)
    ' desc: Execute a command string and wait for result if indicated
    Function RunCmd( ByVal strCmd, ByVal bWait)
    Dim nReturnCode, strWholeCmd
        nReturnCode= 0
        strWholeCmd= "%comspec% /c "&strCmd&" >"&gcsLogFile2
        nReturnCode= goShell.Run(strWholeCmd,0,bWait)
        WriteLog( "RunCmd("&strCmd&","&bWait&") returned "&nReturnCode)
        RunCmd= nReturnCode
    End Function
    Mark Maddox Sr. Tech Specialist

    I did the following and am providing comments on each:
    Run setx.exe from a Command Prompt.
    RESULT: This works and can be seen by new processses regardless of privilege provided they are done under the same credentialed user.
    Run a really simple script from the Command Prompt, e.g. the one below, and check if it works.
    Set oWshShell = CreateObject("WScript.Shell")
    sCMD = "cmd /c setx.exe Test %time% /m"
    wscript.echo "Error code=" & oWshShell.run(sCmd, 0, true)
    RESULT:  This works and result can be seen by new processes regardless of privilege provided they are done under the same credentialed user.  My attempts to user another credentialed user failed with a permission to access reegistry path not
    granted.
    Run the same script as a scheduled task, using the same account as you use for your service, then check if it worked.
    RESULT:  Script ran, but only new processes with elevated privilege could see the change.  New processes without elevated privilege could not see the change.  I had to log out and log back in for new processes without elevated privilege
    to pick up the change.
    Run that script as a service, then check again if it worked.
    RESULT:  Script ran, but only new processes with elevated privilege could see the change.  New processes without elevated privilege could not see the change.  I had to log out and log back in for new processes without elevated privilege
    to pick up the change.
    Mark Maddox Sr. Tech Specialist
    P.S.  I also created an application that gets called after the the script has made environment variable changes.  It broadcasts the WM_SETTINGCHANGE message.  I did this in hopes that something would refresh in the Windows OS allowing non-privileged
    users to see the change.  It did not help.  Here's the C++ line that I executed:
    LRESULT error1 = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)
    "Environment", SMTO_ABORTIFHUNG,
    5000, &dwReturnValue);

  • Human Task Bulk API calls from ADF Entity Object

    Dear all,
    Jdev: 11.1.1.7.1
    We have a requirement where in human task APIs need to be invoked on status changes of an ADF Entity (EO). We presently achieve this in the afterCommit() method and all is well.
    But we are looking to leverage the Human Task bulk update APIs and am wondering how to do that.
    The EO does support a batch mode - Is there a batch mode API that we can override to place the bulk update API call?
    Thanks

    in version 11.1.1.6 getInputStream() and getContent() do not work, this is know bug you can find in the oracle support at
    https://support.oracle.com/epmos/faces/ui/km/SearchDocDisplay.jspx?_afrLoop=175895926830291&type=DOCUMENT&id=1451100.1&displayIndex=8&_afrWindowMode=0&_adf.ctrl-state=tlzphlagm_69
    there you can find a .zip file with a full example code.
    Actually Oracle does not consider it a bug:
    "This issue was reviewed by Engineering in Bug 13873092 and is not considered a bug. There is a workaround to retrieve task contents through 'WFTaskUpdate' Servlet as described in the attached Sample project."
    but in my opinion it is a very big bug endeed, and it drove me mad for days! :(
    Anyway here is a snippet with the workaroud in case you do not have access to the oracle support site:
    if att is you attachment and wfContext is your workflow context set somewhere
    AttachmentType att;
    IWorkflowContext wfContext;
    instead of doing this
    InputStream inputStream = att.getInputStream();
    do this
    String contextId = wfContext.getToken();
    String attachmentURL = WFUtils.getTaskUpdateURL(att.getTaskId(), contextId, "" + att.getVersion(),att.getName(),
    Constants.WFTASK_QUERY_ATTACHMENT_BUTTON_KEY_NAME);
    if ( attachmentURL == null ) {
    System.out.println("Unable to generate URL to get attachmentcontent");
    try {
    URL url = new URL(attachmentURL);
    URLConnection conn = url.openConnection();
    InputStream inputStream = conn.getInputStream();
    } catch ( Exception e ) {
    e.printStackTrace();
    hope this helps
    Massi

  • Shell script called from .sql fie in oracle concurrent manager

    Hi
    I am running a request set through Oracle concurrent manager.
    The manager calls a .sql file. The sql file internally calls a unix shell script.
    v_body VARCHAR2(10000);
    v_body is set as followed in the sql program.
    v_body := 'ATTENTION :' || CHR(10) || CHR(10) ||
    'Your invoice number ' || r_error_rec.invoice_num || ' cannot be paid at present due ' ||
              'to one of the following reasons:' || CHR(10) || CHR(10) ||
              ' - The Purchase Order number quoted on the invoice is invalid ' || CHR(10) ||
              ' - The Purchase Order number has not been quoted at all on the invoice' || CHR(10) ||
              ' - The Purchase Order number is missing on one or more of the lines on the invoice' ||
              CHR(10) || CHR(10) ||
              'To avoid any further payment delays, please advise us of the correct Purchase ' ||
              'Order number(s) by emailing ' || r_error_rec.sender || '. Please note that it is not ' ||
              'necessary to re-submit the invoice.' || CHR(10) || CHR(10) ||
              'If you do not know the Purchase Order number, please contact the employee ' ||
              'who ordered your goods/services for this number. For future reference please note that ' ||
              'it is the responsibility of the vendor to ensure that an approved Purchase Order ' ||
              'number is received before supplying goods/services to . The purchase order is ' ||
              'evidence that the order has been approved by management.' || CHR(10) || CHR(10) ||
              'This invoice will be held as pending until the valid Purchase Order number can be provided.' || CHR(10) || CHR(10) ||
              'Thank you,' || CHR(10) || CHR(10) || ' Accounts Payable' || CHR(10);
    The sql now calls a unix shell script as shown below.
              l_request_id := fnd_request.submit_request (
                                            'CFI',                                   'CFIECAPEMLSH',                         NULL,                              NULL,                              FALSE,                              r_error_rec.sender,                          v_recipient,                              v_ccrecipient,                          v_bccrecipient,                          v_subject,                                   v_body,                                   v_attachment     
    So here the problem i am facing is that the shell script is not getting called.
    If i keep v_body= 'Test' the shell script is called and program is working fine.
    Is it a problem with CHR(10) or the size limitation of v_body i dont know.
    I tried to keep v_body VARCHAR2(10000).
    Still it did not work.
    Plz help me if u know about this.

    You cannot have varchar2 > 4000.

  • Unix script call from java applet

    In perl you can use the system command to call a unix command like mv or ls. How do run a unix command from a java applet?

    normaly java applets are not allowed to execute any code. But there is a possibility to ask the user to be allowed to..
    in Netscpae you can use the following:
    import netscape.security.PrivilegeManager;
    then somewhere in the class...
    PrivilegeManager.enablePrivilege( "UniversalExecAccess" );
    then the user can press 'grant' or 'deni'. If he pressed grant, you can do the following:
    Process process = Runtime.getRuntime().exec( "command" );
    //where command is what ever command you like to execute
    hope that helps.
    lexip

  • Linux script call from PL/SQL does not work?

    We are trying to run a simple Linux command using this PL/SQL 10.2 procedure:
    PROCEDURE run_linux_script_from_oracle IS
        BEGIN
          dbms_scheduler.create_job
              job_name=>'runtop',
              job_type=>'executable',
              job_action=>'/vol0/FileLoadDir/Bank/DATA_FILES/spell_check.sh',
              enabled=>true,
              auto_drop=>true
          DBMS_OUTPUT.PUT_LINE('Successful');
        EXCEPTION
          WHEN OTHERS THEN
            DBMS_OUTPUT.PUT_LINE('Error: ' || SQLERRM);
        END;The .sh file has this command which works fine when we run in Linux.
    spell /vol0/FileLoadDir/Bank/DATA_FILES/ebill2.fmt_form_strings_.txt > /vol0/FileLoadDir/Bank/DATA_FILES/abcd.txtI get a Successful when I run this command in my SQL*Navigator and a PLS-00225: subprogram or cursor 'ABS' reference is out of scope when I run it in the SQL*Nav in another machine???
    Any help would be greatly appreciated.

    Channa wrote:
    We are trying to run a simple Linux command using this PL/SQL 10.2 procedure:NO, posted procedure below RUNS nothing,
    post code simply CREATE JOB, but does NOT invoke it!
    >
    PROCEDURE run_linux_script_from_oracle IS
    BEGIN
    dbms_scheduler.create_job
    job_name=>'runtop',
    job_type=>'executable',
    job_action=>'/vol0/FileLoadDir/Bank/DATA_FILES/spell_check.sh',
    enabled=>true,
    auto_drop=>true
    DBMS_OUTPUT.PUT_LINE('Successful');
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('Error: ' || SQLERRM);
    END;EXCEPTION handler is BUG & should be removed, discarded & 100% eliminated.
    >
    The .sh file has this command which works fine when we run in Linux.
    spell /vol0/FileLoadDir/Bank/DATA_FILES/ebill2.fmt_form_strings_.txt > /vol0/FileLoadDir/Bank/DATA_FILES/abcd.txtI get a Successful when I run this command in my SQL*Navigator and a PLS-00225: subprogram or cursor 'ABS' reference is out of scope when I run it in the SQL*Nav in another machine???What is "ABS" & why/how does it exist in error message?

  • It is posible to call js from adf ?

    Hi ,
    It is posible to call a javascript function from ADF in .jsp web page ?
    I want to make onclick = doChange; event on checkbox in Edit form page
    i know that i can call a function from Onclick , but i want that event onclick is called from adf .
    document.getElementById('%AcceptedBySupplier').onclick = doChange;
    document.getElementById('%AcceptedBySupplier').setAttribute( "onClick", "javascript: doChange();" )

    Hi.
    you can use af_clientListener with EventType click
    http://docs.oracle.com/cd/E12839_01/apirefs.1111/e12419/tagdoc/af_clientListener.html

  • Is it possible to call OAF Page from ADF Page

    Hi,
    Is it possible to open E-Business suite OAF page from ADF ??
    Our requirement as follows:
    In ADF page have the Order Number as hyper-link, if user click on hyper-link we have to pass Order_Id and open OAF page of Order Management in E-Business Suite. This OAF Page has has the corresponding Order Line for given Order_Id.
    If this is possible, how authentication/security works between ADF and OAF. Is the user which as logged into ADF will authenticate in OAF Page also ? How it works ??
    Thanks in advance.
    Thanks,
    SrikS

    Hi,
    Hope following useful
    http://blogs.oracle.com/stevenChan/entry/oa_framework_or_adf
    ADF Call from OAF

  • How to call OWSM secured web-service from ADF application

    I have a OWSM secured web-service, which takes username/password.
    I want to invoke this webservice from ADF application. ADF application has its own security and it takes its own username/password. End user can't provide the username/password for web-service call. My ADF application should call the webservice and provide it appropriate username/password.
    What is the best practice to handle such scenario. I don't want to hardcode username/password in Java (ADF) code.
    Thanks
    Sanjeev.

    it is not clear to me if you are having problems with calling java code from OIM or if the problem is the web service API.
    Lets do some divide and conquer:
    Can you create a simple java class that just writes a couple of lines to the log? Please attach this code to the OIM task and make sure it runs.
    Once this works we can start looking at the web service call.
    Best regards
    /Martin

  • Can a Stored Procedure be called from a Rule (not using Scripted JDBC Adap)

    Hello smart people,
    Question: Can a stored procedure be called from a Rule without using the Scripted JDBC Resource Adapter?
    What's Desired: The project has very strong sql developers and average at best Java developers. We have been successful at implementing the scripted JDBC Resource Adapter which makes use of Java Bean shells. The custom Java Bean shell contains code that calls a stored procedure. We are cool with that process.
    However we would like to be able to set up a Rule that calls a Stored Procedure without jumping thru the Java Bean Shell layer. The Stored Procedures we will be developing will not access the tables in the Waveset database. Instead the Stored Procedures will be accessing custom tables in a custom database. The custom DBase will be housed on the same dBase server as the Waveset database.
    Environment: Identity Manager 7.1. Oracle 10i, and Unix OS.
    It seems to me that this task is possible, but the posts in this forum make it sound like perhaps it is not.
    Do any of you smart people agree that it should be possible or better yet has anyone implemented such an approach?
    Thanks.

    We did this by putting all of the JDBC calls into a Java class, then instantiated that class and called the methods from within a rule. An example of a rule we used is this:
    <Rule authType='UserMembersRule' name='List UserType'>
      <block>
        <defvar name='adapter'>
          <new class='com.waveset.adapter.ScriptedJdbcResourceAdapter'/>
        </defvar>
        <invoke name='setResource'>
          <ref>adapter</ref>
          <invoke name='getObject' class='com.waveset.ui.FormUtil'>
            <ref>context</ref>
            <s>Resource</s>
            <s>Banner</s>
          </invoke>
        </invoke>
        <defvar name='jdbcHelper'>
          <new class='edu.bates.JDBCHelper'>
            <invoke name='getConnection'>
              <ref>adapter</ref>
            </invoke>
          </new>
        </defvar>
        <defvar name='userList'>
          <new class='java.util.ArrayList'/>
        </defvar>
        <invoke name='addQueryToList'>
          <ref>jdbcHelper</ref>
          <s>SQL QUERY HERE</s>
          <ref>userList</ref>
        </invoke>
        <ref>userList</ref>
      </block>
      <MemberObjectGroups>
        <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/>
      </MemberObjectGroups>
    </Rule>

Maybe you are looking for