Queue with callback function not dequeuing

Hi,
I would like to ask you for help or for a hint regarding our problem with the queue:
A trigger is enqueuing to a queue. This works fine, but the callback function is never called. The queue already worked for a while, but since i changed something at the procedure called by the callback it does not work anymore.
I already have tried the following:
-Stopping and restarting
-Dropping and recreating (with the scheduler having no jobs anymore)
-Dropping, restarting the database and recreating
None of these worked. Where do I fail, when considering that the queue with the same scripts worked already? I post the script for creating the queue and adding the subscriber:
CREATE OR REPLACE TYPE pat_history_queue_payload_type AS OBJECT
( TSTAMP VARCHAR2(22 CHAR),
TYP VARCHAR2(10 CHAR),
DELTA_MENGE NUMBER,
ORIGIN VARCHAR2(1 CHAR),
TEXT VARCHAR2(1000 CHAR),
QL_TSTAMP VARCHAR2(22 CHAR)
BEGIN
DBMS_AQADM.CREATE_QUEUE_TABLE (
queue_table => 'pat_history_queue_table',
queue_payload_type => 'pat_history_queue_payload_type',
multiple_consumers => TRUE
END;
BEGIN
DBMS_AQADM.CREATE_QUEUE (
queue_name => 'pat_history_queue',
queue_table => 'pat_history_queue_table',
max_retries => 10
DBMS_AQADM.START_QUEUE (
queue_name => 'pat_history_queue'
END;
BEGIN
DBMS_AQADM.ADD_SUBSCRIBER (
queue_name => 'pat_history_queue',
subscriber => SYS.AQ$_AGENT(
'pat_history_queue_subscriber',
NULL,
NULL )
DBMS_AQ.REGISTER (
SYS.AQ$_REG_INFO_LIST(
SYS.AQ$_REG_INFO(
'pat_history_queue:pat_history_queue_subscriber',
DBMS_AQ.NAMESPACE_AQ,
'plsql://PAT.HISTORY_QUEUE_DISTRIBUTION.CALLBACK',
HEXTORAW('FF')
1
END;
The function CALLBACK which is called by the queue, is never called, I checked that with log messages. Also the package that contains the function is compiled ok.
Thanks.
Roland

Hi,
Does the subscription show up correct in sys.reg$ ?
Regards,
Harry
http://dbaharrison.blogspot.com/

Similar Messages

  • Queue with callback function - strange behaviour when using max_retries

    Hi,
    I hope someone can tell me what is wrong or can explain the following strange behaviour to me.
    I am using one queue with a registered callback function. To test the behavoiur in case of an error I tested different settings, with or without explicit exception queue and with or without parameter max_retries.
    Database Version is 11.2.0.2.   Enterprise Edition
    I enqueue 10 messages in a loop.
    I define no exception queue and do not set max_retries
    ==> all messages stay in the queuetable with q_name = AQ$_... (implicit exception queue) and retry_count = 5
    I define no exception queue and set max_retries = 4
    ==> 1 message stays in the queuetable with q_name = AQ$_... (implicit exception queue) and retry_count = 4
           9 messages stay in the queuetable with q_name = nomal queue name and retry_count = 0
    I define an exception queue and set max_retries = 4
    ==> 1 message is transfered to the Exception Queuetable with retry_count = 4
           9 messages stay in the normal Queuetable and retry_count = 0
    I define an exception queue and do not set max_retries
    ==> all 10 messages are transferred to the Exception Queuetable with retry_count = 5
    I have no explanation for the behaviour in case 2 and case 3.
    To create the queue and the callback I use this code (reduced to minimum):
    begin
       DBMS_AQADM.CREATE_QUEUE_TABLE(Queue_table        => 'TESTUSER.TEST_TABELLE'
                                   , Queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE'
                                   , sort_list          => 'enq_time'
                                   , multiple_consumers => FALSE
       DBMS_AQADM.CREATE_QUEUE( queue_name  => 'TESTUSER.TEST_QUEUE'
                              , queue_table => 'TESTUSER.TEST_TABELLE'
    --                          , max_retries => 4                     uncomment this line to set max_retries
    -- uncomment the following Block to use an explicit Exception Queue
    /*   DBMS_AQADM.CREATE_QUEUE_TABLE(Queue_table        => 'TESTUSER.TEST_TABELLE_EXC'
                                   , Queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE'
                                   , sort_list          => 'enq_time'
                                   , multiple_consumers => FALSE
       DBMS_AQADM.CREATE_QUEUE( queue_name  => 'TESTUSER.TEST_QUEUE_EXC'
                              , queue_table => 'TESTUSER.TEST_TABELLE_EXC'
                              , queue_type  => dbms_aqadm.EXCEPTION_QUEUE);
       DBMS_AQADM.START_QUEUE('TESTUSER.TEST_QUEUE');
    end;
    create or replace procedure test_procedure
      (context  RAW
      ,reginfo  sys.AQ$_reg_info
      ,descr    sys.AQ$_descriptor
      ,payload  VARCHAR2
      ,payloadl NUMBER
      ) authid definer
      IS
      -- für Queue
      dequeue_options   DBMS_AQ.dequeue_options_t;
      message_prop      DBMS_AQ.message_properties_t;
      message_hdl       raw(16);
      message           sys.aq$_jms_text_message;
      l_daten           VARCHAR2(32767);
      ex_hugo          EXCEPTION;
      BEGIN
        dequeue_options.msgid         := descr.msg_id;
        dequeue_options.consumer_name := descr.consumer_name;
        dbms_aq.dequeue(descr.queue_name, dequeue_options, message_prop, message, message_hdl);
        -- to provoke an error
        RAISE ex_hugo;
        -- regurlar coding
        commit;
    exception
      when others then
           rollback;
           RAISE;
    end;
    DECLARE
       reginfo1    sys.aq$_reg_info;
       reginfolist sys.aq$_reg_info_list;
    BEGIN
       reginfo1 := sys.aq$_reg_info('TESTUSER.TEST_QUEUE', DBMS_AQ.NAMESPACE_AQ, 'plsql://TESTUSER.TEST_PROCEDURE?PR=0',HEXTORAW('FF'));
       reginfolist := sys.aq$_reg_info_list(reginfo1);
       sys.dbms_aq.register(reginfolist, 1);
       commit;
    END;
    to enqueue my messages i use:
    DECLARE
      message            sys.aq$_jms_text_message;
      enqueue_options    dbms_aq.enqueue_options_t;
      message_properties dbms_aq.message_properties_t;
      msgid              raw(16);
      v_daten            clob;
    BEGIN
       message := sys.aq$_jms_text_message.construct;
       for i in 1..10
       loop
          v_daten := '{ dummy_text }';
          message.set_text(v_daten);
    -- uncomment the following line to use an explicit Exception Queue     
    --      message_properties.exception_queue := 'TESTUSER.TEST_QUEUE_EXC'; 
          dbms_aq.enqueue(queue_name         => 'TESTUSER.TEST_QUEUE',
                          enqueue_options    => enqueue_options,
                          message_properties => message_properties,
                          payload            => message,
                          msgid              => msgid);
          message.clear_properties();
       end loop;
       commit;
    END;

    Hi Chris,
    I tried to reproduce your complaint, but was unable to. I didnt use auditting however, just a series of "select user from dual" with proxy authentication. You might want to see if you can put together a small complete testcase for this and open a sr with support.
    Cheers
    Greg

  • AQ on RAC: Callback does not dequeue (sometimes)

    Hi,
    We've got the following problem on 11.2.0.3:
    RAC consists of 2 instances.
    The Queue Table is defined with primary instance set to 1.
    On instance 1 parameter job_queue_processes is set to 10 - on instance 2 it is set to 0!
    Queues defined on this Queue Table are dequeued via callback functions.
    Normally every incoming messages should be dequeued automatically by the defined callback functions. But in our setup this does not seem to work: messages are regularly hanging with status READY and need a manual dequeue.
    What's wrong with this setup? Why does this not work?
    Thanks for any input,
    Stephan

    Hi,
    You need to check if there is any inconsistency.
    select count(*) from sys.aq_srvntfn_table n where n.user_data.msg_id in
    (select n.user_data.msg_id msgid from sys.aq_srvntfn_table n minus select msgid from APP_SCHEMANAME.APP_QUEUE_TABLENAME)
    and n.user_data.queue_name = '"APP_SCHEMANAME"."APP_QUEUENAME"';
    Note : in 10.1 onwards, where the schema and queue name can be mixed case, that the query to identify the mismatch needs to reference the n.user_data.queue_name correctly by enclosing the APP_SCHEMANAME and APP_QUEUENAME in double quotes
    If above returns any row:
    ACTION PLAN:
    This shows messages are in the notification queue but not in the user-created application queue.
    For those msgids returned, manually dequeue these messages by specifying the message id from the notification queue : AQ_SRVNTFN_TABLE_Q (in versions below 11.2) or AQ_SRVNTFN_TABLE_Q_<N> (in versions starting 11.2). In doing this, we are removing the message in the notification queue which is not in the Application queue. This should allow the notification activity to move on. e.g.
    set serveroutput on
    declare
    enqueue_options dbms_aq.enqueue_options_t;
    message_properties dbms_aq.message_properties_t;
    dequeue_options dbms_aq.dequeue_options_t;
    message_handle raw(16);
    mes aq$_srvntfn_message;
    begin
      dequeue_options.wait := dbms_aq.no_wait;
      dequeue_options.consumer_name := '<consumer_name>'
      dequeue_options.msgid := '<msg id>';    -- <<< supply mesage id
      dbms_aq.dequeue(queue_name => 'AQ_SRVNTFN_TABLE_Q',   -- <<< as appropriate
      dequeue_options => dequeue_options,
      message_properties => message_properties,
      payload => mes,
      msgid => message_handle);
      dbms_output.put_line('removed: ' || message_handle);
      commit;
    end;
    It may be required to kill off the register driver jobs to restart the mechanism correctly after the queues have been reconciled and the above query returns 0 rows indicating queues are consistent. It  is also recommended to restart the database after this process has been completed before enqueueing further messages into the user-created application queue.
    Note : you may need to specify a consumer_name in the above if the related queue is a multi consumer queue
    Thanks,
    Reena

  • Memory leak with callback function

    Hi,
    I am fairly new to LabWindows and the ninetv library, i have mostly been working with LabVIEW.
    I am trying to create a basic (no GUI) c++ client that sets up subscriptions to several network variables publishing DAQ data from a PXI.
    The data for each variable is sent in a cluster and contains various datatypes along with a large int16 2D array for the data acquired(average array size is 100k in total, and the average time between data sent is 10ms). I have on average 10 of these DAQ variables.
    I am passing the same callback function as an arguement to all of these subscriptions(CNVCreateSubcription).
    It reads all the correct data, but i have one problem which is that i am experiencing a memory leak in the callback function that i pass to the CNVCreateSubscription.
    I have reduced the code one by one line and found the function that actually causes the memory leak, which is a CNVGetStructFields(). At this point in the program the data has still not been passed to the clients variables.
    This is a simplified version of the callback function, where i just unpack the cluster and get the data (only showing from one field in the cluster in the example, also not showing the decleration).
    The function is passed into to the subscribe function, like so:
    static void CNVCALLBACK SubscriberCallback(void * handle, CNVData data, void * callbackData);
    CNVCreateSubscriber (url.c_str(), SubscriberCallback, NULL, 0, CNVWaitForever, 0 , &subscriber);
    static void CNVCALLBACK SubscriberCallback(void * handle, CNVData data, void * callbackData)
    int16_t daqValue[100000];
    long unsigned int nDims;
    long unsigned int daqDims[2];
    CNVData fields[1];
    CNVDataType type;
    unsigned short int numFields;
    CNVGetDataType(data, &type, &nDims);
    CNVGetNumberOfStructFields (data, &numFields);
    CNVGetStructFields (data, fields, numFields); // <-------HERE IS THE PROBLEM, i can comment out the code after this point and it still causes a memory leak.
    CNVGetDataType(fields[0], &type, &nDims);
    CNVGetArrayDataDimensions(fields[0], nDims, acqDims);
    CNVGetArrayDataValue(fields[0], type, daqValue, daqDims[0]*daqDims[1]);
    CNVDisposeData(data);
    At the average settings i use all my systems memory (4GB) within one hour. 
    My question is, have any else experienced this and what could the problem/solution to this be?
    Thanks.
    Solved!
    Go to Solution.

    Of course.....if it is something i hate more than mistakes, it is obvious mistakes.
    Thank you for pointing it out, now everything works

  • Ajax:callback function not called for every readystatechange of the request

    Author: khk Posts: 2 Registered: 2/17/06
    Feb 17, 2006 11:04 PM
    Hi
    I am working with an ajax program.
    In that i have defined a callback funtion
    but that function is not being called for every readystatechange of the request object for the first request .
    but it is working fine from the second request.
    function find(start,number){
    var nameField=document.getElementById("text1").value;
    var starting=start;
    var total=number;
    if(form1.criteria[0].checked) {
    http.open("GET", url + escape(nameField)+"&param2="+escape("exact")+"&param4="+escape(starting)+"&param5="+escape(number));
    else if(form1.criteria[2].checked) {
    http.open("GET", url + escape(nameField)+"&param2="+escape("prefix")+"&param4="+escape(starting)+"&param5="+escape(number));
    http.onreadystatechange = callback2;
    http.send(null);
    function callback2(){
    if (http.readyState == 4) {//request state
    if(http.status==200){
    var message=http.responseXML;
    alert(http.responseText);
    Parse2(message);
    }else{
    alert("response is not completed");
    }else{
    alert("request state is :-"+http.readyState);
    }

    Triple post.
    You have been answered here: http://forum.java.sun.com/thread.jspa?threadID=709676

  • Followup on archived thread re Opening Bookmarks in Separate Window with FULL FUNCTIONALITY not Annoying Limits

    First, I find it annoying that relatively recent threads are closed so quickly, especially when good solutions aren't found to the questions posed.
    In this case, I see someone else wanted to open their bookmarks in a new window, not a tab or sidebar.
    https://support.mozilla.org/en-US/questions/984381#answer-526189
    The 'chosen' answer provided was use Ctrl Shift B. That does open the Library in a separate window.
    But for me that's totally inadequate, because one can only view the contents of one folder at a time. And I have hundreds. The person posing the question replied that detailed information on each bookmark is not displayed that way either. In my case, with a large and developed bookmark tree, that telescoping two panel view poses an unworkable limitation. And one that kept me at FF 3.6.28 until a year ago, when I found an answer to that problem, and this gentleman's also, I believe.
    I'm now using FF 27, with the All In One Sidebar extension. I believe that adds a Bookmarks Icon with a Star at the top of a new sidebar.
    If set up properly (see customize), left clicking allows you to "display your bookmarks" as a Sidebar, New Tab or New Window. But more importantly, in the New Window at least, it is not in the dreaded two pane mode where I can only view the contents of a single selected folder at any one time. Instead, I can open multiple folders at one time and see multiple individual bookmarks, buried in separate folders or subfolders, at one time. Ie, the same hierarchical layout that used be available before FF 4 changed the whole bookmarks architecture. So, when I open a new folder to view its contents, it doesn't close the prior folder automatically. And that's the way it should be. Users should have options, not have particular behavior imposed on them. Now, I'm not confident that I can upgrade to a newer FF as I was not readily able to get the same functionality out of AIOS using a more recent version of FF. But I didn't try hard, so it might also work with newer versions. Perhaps someone can verify that.

    https://support.mozilla.org/en-US/questions/984381#answer-526189
    This thread was closed so quickly? That thread is '''''just over a year old'''''. Threads get archived after 6 months, or later when the thread isn't "Solved" and receives new postings later on. And the Chosen Solution in that thread was to use '''chrome://browser/content/bookmarks/bookmarksPanel.xul''' in the URL bar (or a Bookmark).
    As far as older versions of Firefox and how they worked, you are mistaken about how Firefox 3.6.xx works - basically the same as the later versions all the way up the the current Firefox 35 Release version. In the Library window ''(Show All Bookmarks)'', select a folder in the left pane and view the contents of that folder in the right pane - is the same now as it was in Firefox 3.0, with few minor changes.
    The last version that had the old Bookmarks Manager window, where you could have multiple folders open in the right pane was Firefox 2.0.0.20. Firefox 3.0 was the first version that had the current Library window scheme. Firefox 3.0 was where the major change to the Show All Bookmarks occurred.''The reason that I am so sure of when those changes occurred is that I have every version of Firefox from 2.0.0.20 all the way up to the current Nightly 38.0a1 version installed; I didn't rely on my memory of those old version changes - I just viewed them to answer this thread.''
    Regardless of how each individual user thinks Firefox "should work", it works they way Mozilla decided it should work. If you don't like the way the standard features work you can always install extensions that do have the features you want. Mozilla doesn't impose anything on their users; don't like something find an extension that does it better for you. And it an extension doesn't exist; learn to create those features yourself by building your own extension. Still not good enough; use a different browser that works the way you think it should work.
    As far as updating to Firefox 35 goes, use the Firefox Portable version to experiment with, so you don't risk your current installation in case you don't like the new version.
    http://portableapps.com/apps/internet/firefox_portable
    Just install it to your hard drive; it won't affect your current installation in any way, shape, or form.

  • Registered callback does not dequeue messages in order

    PROCEDURE notifycb(
    CONTEXT IN RAW,
    reginfo IN SYS.aq$_reg_info,
    descr IN SYS.aq$_descriptor,
    payload IN RAW,
    payloadl IN NUMBER )
    AS
    no_messages EXCEPTION;
    PRAGMA exception_init( no_messages, -25228 );
    dequeue_options dbms_aq.dequeue_options_t;
    message_properties dbms_aq.message_properties_t;
    msgid RAW( 16 );
    message XMLTYPE;
    BEGIN
    dequeue_options.consumer_name := descr.consumer_name;
    dequeue_options.msgid := descr.msg_id;
    dbms_aq.dequeue(
    descr.queue_name,
    dequeue_options, message_properties,
    message, msgid );
    INSERT INTO xmltest
    ( create_ts, enqueue_time, xml )
    VALUES
    ( systimestamp, message_properties.enqueue_time, message );
    EXCEPTION
    WHEN no_messages
    THEN NULL;
    END;
    BEGIN
    dbms_aq.REGISTER(
    SYS.aq$_reg_info_list(
    SYS.aq$_reg_info(
    'Q_TEST:QUEUE_SUBSCRIBER',
    dbms_aq.namespace_aq,
    'plsql://QUEUE_OWNER.NOTIFYCB?PR=1',
    HEXTORAW( 'FF' )
    , 1 );
    END;
    DECLARE
    v_enqueue_options dbms_aq.enqueue_options_t;
    v_message_properties dbms_aq.message_properties_t;
    v_message_handle RAW( 16 );
    xml XMLTYPE;
    BEGIN
    FOR x IN 1 .. 10 LOOP
    SELECT XMLELEMENT( "x", x ) INTO xml FROM dual;
    dbms_aq.enqueue(
    queue_name => 'QUEUE_OWNER.Q_TEST',
    enqueue_options => v_enqueue_options,
    message_properties => v_message_properties,
    payload => xml,
    msgid => v_message_handle );
    END LOOP;
    COMMIT;
    END;
    select * from xmltest
    order by create_ts;
    16-JUN-08 04.04.27.065311000 PM 06/16/2008 08:04:20 PM <x>4</x>
    16-JUN-08 04.04.27.078027000 PM 06/16/2008 08:04:20 PM <x>3</x>
    16-JUN-08 04.04.27.155730000 PM 06/16/2008 08:04:20 PM <x>5</x>
    16-JUN-08 04.04.27.268137000 PM 06/16/2008 08:04:20 PM <x>6</x>
    16-JUN-08 04.04.27.357706000 PM 06/16/2008 08:04:20 PM <x>7</x>
    16-JUN-08 04.04.27.479633000 PM 06/16/2008 08:04:20 PM <x>8</x>
    16-JUN-08 04.04.27.577086000 PM 06/16/2008 08:04:20 PM <x>9</x>
    16-JUN-08 04.04.27.612511000 PM 06/16/2008 08:04:20 PM <x>10</x>
    16-JUN-08 04.04.27.979631000 PM 06/16/2008 08:04:20 PM <x>2</x>
    16-JUN-08 04.04.28.084615000 PM 06/16/2008 08:04:20 PM <x>1</x>

    The solution I found is to use a loop to dequeue messages in order, rather than by the supplied msgid, and to use DBMS_LOCK to prevent the callbacks from processing messages in parallel.
    create or replace PROCEDURE notifycb(
    context IN RAW,
    reginfo IN SYS.aq$_reg_info,
    descr IN SYS.aq$_descriptor,
    payload IN RAW,
    payloadl IN NUMBER )
    AS
    no_messages EXCEPTION;
    PRAGMA exception_init( no_messages, -25228 );
    dequeue_options dbms_aq.dequeue_options_t;
    message_properties dbms_aq.message_properties_t;
    msgid RAW( 16 );
    message XMLTYPE;
    lockhandle VARCHAR2(128) := NULL;
    lockstatus NUMBER;
    BEGIN
    dequeue_options.consumer_name := descr.consumer_name;
    dequeue_options.wait := dbms_aq.no_wait;
    dbms_lock.allocate_unique( 'NOTIFYCB_LOCK', lockhandle );
    lockstatus := dbms_lock.request( lockhandle, DBMS_LOCK.X_MODE, release_on_commit => TRUE );
    IF lockstatus != 0 AND lockstatus != 4
    THEN
    RETURN;
    END IF;
    BEGIN
    LOOP
    dbms_aq.dequeue(
    descr.queue_name,
    dequeue_options, message_properties,
    message, msgid );
    INSERT INTO xmltest
    ( create_ts, enqueue_time, xml )
    VALUES
    ( systimestamp, message_properties.enqueue_time, message );
    END LOOP;
    EXCEPTION
    WHEN no_messages
    THEN NULL;
    END;
    COMMIT;
    END;

  • Play All track (with Story functions) not working

    I'm using a single track as my Play All function for a dvd of several short films and using Story functions to have the individual films play from their own menus.
    But the Play All track won't play all the way through though it does if I press >| (next chapter) button on my remote control. Each film plays fine from its own menu as an individual track though.

    Play All Story would include all markers, a story to just play a section would include the marker for just the one section. You can put the markers in any order you like and can duplicate the markers. If you drop all the markers in the next button will work until the last marker in the story, then there will be no other marker left (but you can put a "fake" marker in the track to jump to for the last real marker)
    http://dvdstepbystep.com/stories_details.php

  • BaCopyFileProgress with callback not working with D11.5?

    I did a project last year using D10 & Buddy API 3.76 with baCopyFileProgress (callback handler enabled) and everything worked. I’ve done other projects since using D11.5, Buddy API 3.76 and baCopyFile (no callback) and everything worked. Now I’m updating last year’s project with the callback and it locks up (the callback is never called) both with D11.5 + Buddy API 3.76 and D11.5 + Buddy API 4.05 (demo). It locks up even if I just recompile last year's project with D11.5. I’m in the process of ordering the upgrade to Buddy API but the demo xtra isn’t working, I have my doubts registering is gonna fix it. Anyone else having trouble (or not) with D11.5 + Buddy API + baCopyFileProgress?

    the help files still won’t open on XP and I’d bet the system copy animation and progress callbacks are related.
    The help files don't open because I think the Director development team changed some mechanism internally and neglected to tell anyone. I don't think this is related at all to the callback function not being called or the copying not working when it's enabled.
    FWIW: in order to open the Help file, I place the xtra and its help file in the same directory (\Adobe Director 11\Configuration\Xtras\Scripting\Buddy API\) and add a Director file to the same folder with the following code in it:
    on prepareMovie
      tPath = _player.activeWindow.filename
      tDelim = the itemDelimiter
      the itemDelimiter = the last char of the moviePath
      delete the last item of tPath
      tPath = tPath & the itemDelimiter
      the itemDelimiter = tDelim
      OK = baOpenFile(tPath & "Buddy API Help.chm", "maximised")
      --  put "exists:", baFileExists(tPath & "Buddy API Help.chm"), RETURN, tPath & "Buddy API Help.chm"
      _player.activeWindow.forget()
    end
    This file has a single sprite channel, is 1x1 pixels with no titlebar visible. I save it as "Buddy API Help" and I now have an entry under Xtras -> Buddy API -> Buddy API Help

  • Not able to copying files/folders from one Document Library to another Document Library using Open with Browser functionality

    Hi All, 
    We have SharePoint Production server 2013 where users are complaining that they are not able to copy or move files from one document library to another document library using “Open with Explorer” functionality.
    We tried to activate publishing features on production server but it did not work. We users reported following errors:  
    Copying files from one document library to another document library:
    Tried to map the document libraries and still not get the error to copy files: 
    In our UAT environment we are able to copy and move folders from using “Open with Explorer” though.
    We have tried to simulate in the UAT environment but could not reproduce the production environment.  
    Any pointers about this issue would be highly appertained.
    Thanks in advance
    Regards,
    Aroh  
    Aroh Shukla

    Hi John and all,
    One the newly created web applications that we created few days back and navigated to document library, clicked on “Open with Explorer”, we get this error.
    We're having a problem opening this location in file explorer. Add this website to your trusted and try again.
    We added to the trusted site in Internet Explorer for this web application, cleared the cache and open the site with same document library but still get the same above error.
    However, another existing web application (In same the Farm) that we are troubleshooting at the moment, we are able click on “Open with Explorer”,  login in credentials opens and we entered the details we are able to open the document
    library and tried to follow these steps:
    From Windows Explorer (using with Open with Explorer), tried to copy or move a files to
    source document library.
    From Windows Explorer moved this file to another destination document library and we got this error.
    What we have to achieve is users should be able to copy files and folders using
    Open with Explorer functionality. We don’t know why Open with Explorer
    functionality not work working for our environment.  
    Are we doing something wrong? 
    We have referred to following websites.
    we hope concepts of copying / Moving files are similar as SharePoint 2010. Our production environment is SharePoint 2013.   
    http://www.mcstech.net/blog/index.cfm/2012/1/4/SharePoint-2010-Moving-Documents-Between-Libraries https://andreakalli.wordpress.com/2014/01/28/moving-or-copying-files-and-folders-in-sharepoint/
    Please advise us. Thank you.
    Regards,
    Aroh
    Aroh Shukla

  • CALLBACK functions in cvi

    hi,
    Need a simple clarification on working with callback function.
    i have 3 different callback buttons function as start test, stop test, quit.
    Whenever Start test button is pressed by EVENT_COMMIT, it calls some functions and executes the same. in the middle of this function execution i need to stop the test by pressing stop test button or i need to quit the interface. How can i do this?
    i am facing problem like once i press the start button i am not getting controls to other button until the all functions available inside start button gets completed.
    Thanks in advance
    Solved!
    Go to Solution.

    The sleep (1000) and not calling ProcessSystemEvents () are the reasons!
    Sleep () completely blocks the program until the time has expired. It is advisable that you dont call it for long intervals!
    If you don't call ProcessSystemEvents () you cannot get stop button press
    Try modifying the code this way:
    int    requestToStop;    // Define this at module level
    int CVICALLBACK Btn_Start_Test (int panel, int control, int event,
      void *callbackData, int eventData1, int eventData2)
    switch (event)  {
     case EVENT_COMMIT:
       requestToStop = 0;    // Clear stop flag and start the test
       if (Tree_getselectedChilditems())
           MessagePopup ("Info", "Operator stopped the test!");
       else
           MessagePopup("Info","TEST COMPLETED SUCCESSFULLY");
       break;
     return 0;
    int CVICALLBACK btn_stop_test (int panel, int control, int event,
      void *callbackData, int eventData1, int eventData2)
     switch (event)  {
      case EVENT_COMMIT:
        requestToStop = 1;
    //  XL_KillWindowsProcess("EXCEL.EXE");//not exactly excel file,it may be any file which is running 
        break;
     return 0;
    int Tree_getselectedChilditems (void)     //double testcaseno)
     int noOfItems;int val,i;  //int index;
     int noOfChild,index=1;
     char treelabel[500]={0};
     char charval;char TCno[100];
     int select;  char testno[100]={0};
     double tini;
      for(error = GetTreeItem (panelHandle, PANEL_TREE, VAL_CHILD, 0, VAL_FIRST, VAL_NEXT_PLUS_SELF, VAL_MARKED, &index);
              index >= 0&&error<=0;error = GetTreeItem(panelHandle, PANEL_TREE, VAL_ALL, 0,
                    index, VAL_NEXT, VAL_MARKED, &index))
             GetTreeCellAttribute(panelHandle, PANEL_TREE,
                index, 0, ATTR_LABEL_TEXT, treelabel);
       Scan(treelabel,"%s",TCno);
       strcpy(testcaseno,TCno);
    //   Sleep(1000);     // Substitute this line with the following code
         tini = Timer ();
         while (Timer () - tini < 1.0) {
            ProcessSystemEvents ();
            if (RequestToStop) break;     // Operator stoo
       readTestcasesheet(ExcelWorkbookHandle, ExcelWorksheetHandle,testcaseno);
       Fmt(treelabel,"%s",""); 
       if (RequestToStop) break;     // Operator stop
      return requestToStop;
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • ESB 10.1.3.1 Not Connecting to AQ QUEUE with error

    We are having problems getting the ESB service to connect to an AQ queue to dequeue messages;
    Platform: SOLARIS 10 SPARC 64
    Version: 10.1.3.1 ESB
    Database: 10.2.0.2
    Scenario: BPEL process enqueues message successfully. ESB process not able to connect to dequeue.
    Reproduceable steps:
    1) Create QUEUE table, queue and start queue for a user with Roles AQ_Administrator_ROLE, AQ_USER_ROLE, DBA;
    2) Enqueue message. Message payload type is RAW;
    3) ESB service defines an inbound adapter service to above and succesfully deploys project to esb container;
    4) Logs report the following errors:
    ERROR1) >JCA: MessageReader_ReadMessage: Could not create XML document carrying AQ Head
    ers: [Ljava.lang.StackTraceElement;@d7f3e3</MSG_TEXT>
    ERROR2) <SUPPL_DETAIL><![CDATA[java.lang.NullPointerException
    at oracle.AQ.AQOracleQueue.dequeue(AQOracleQueue.java:1715)
    at oracle.AQ.AQOracleQueue.dequeue(AQOracleQueue.java:1290)
    at oracle.tip.adapter.aq.database.MessageReader.readMessage(MessageReader.java:400)
    at oracle.tip.adapter.aq.inbound.AQActivationSpecDequeuer.run(AQActivationSpecDequeu
    er.java:189)
    at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:81
    9)
    at java.lang.Thread.run(Thread.java:595)
    ]]></SUPPL_DETAIL>
    VERIFICATION: First of all, the BPEL process is successfully submitting messages to AQ QUEUE so AQ is configured properly at the database level. We verified queue table has a message in it via sql plus;
    RELATED ISSUES:
    1) JDEV designer is not finding queues with payload types such as JMS_TEXT_MESSAGE. We were forced to use RAW. There is probably a bug in JDEV IDE regards its inability to view valid queues in the database simply based on payload. This is easily reproducible.
    2) log.xml is very unhelpful way to view a log. This should be discarded in OAS in future releases as it is not practical.

    Yes, WebLogic 10.1.3.6 can interoperate with 9.2. SAF agents are "Store and Forward" agents, so they'd need to run in the source cluster. If you need to get messages from a remote destinations into a local SAF "imported destinations", or just a plain-old destination, then perhaps the best option would be to deploy a simple MDB on the 10.3.6 cluster (some layered products can setup such an MDB for you).
    I'm not familiar with ESB, but assume that it already provides tooling for pulling messages from remote destinations (I assume a product like ESB is designed to try and more-or-less hide JMS details from the user by providing layered tooling...). You might be able to get help from an ESB newsgroup. If this doesn't help, you may also want to see the JMS interop FAQ:
    http://docs.oracle.com/cd/E21764_01/web.1111/e13727/interop.htm#JMSPG553
    BTW, It's not clear to me why you need SAF Agents in this use case.
    Tom

  • External Function with a Pointer to a Callback Function Inside a DLL

    Hi.
    I'm loading a DLL and trying to call a function with the following prototype:
    Func1(HANDLE, hHandle, LPVOID (*pCallback)(UINT, UINT LPVOID), CHAR* sPath)
    Now, I have no problem with the variable types, because CVI 9.0.1 recognizes all of them and I have no problem with LoadLibrary() nor with GetProcAddress().
    But, how do I pass a pointer to a callback that is inside the DLL I'm trying to use.
    I've tried to declare the callback like this:
    LPVOID (CALLBACK Callback)(UINT iDevNo, UINT evEvent, LPVOID pData);
    and call the function Func1 like this:
    (Func1)(hHandle, &Callback, NULL);
    but this gets me:
     Undefined symbol '_Callback@12' referenced in "source.c".
    Hope I can get some help.
    I appreciate your time on this issue.
    Regards.
    Daniel Coelho
    VISToolkit - http://www.vistoolkit.com - Your Real Virtual Instrument Solution
    Controlar - Electronica Industrial e Sistemas, Lda
    Solved!
    Go to Solution.

    Hi Daniel,
    First, you have to make sure that the callback function is exported by the DLL, so that the program that uses the DLL can access the function name identifier. Then, you have to make sure that you call GetProcAddress not just on Func1, but also on the exported callback function. You need to store both function address values in their respective function pointers. You then can pass the callback function pointer as an argument to the Func1 call.
    It's probably cleaner if you define typedefs for all your function pointers, in the calling program:
    typedef LPVOID (__stdcall *CallbackType) (UINT , UINT, LPVOID);
    typedef ??? (__stdcall *Func1Type) (HANDLE, hHandle, CallbackType, CHAR*);
    CallbackType     CallbackPtr;
    Func1Type        Func1Ptr;
    dllHandle = LoadLibrary ("...");
    CallbackPtr = (CallbackType)GetProcAddress (dllHandle, "Callback");
    Func1Ptr = (Func1Type)GetProcAddress (dllHandle, "Func1");
    Func1Ptr (..., hHandle, CallbackPtr, NULL);
    Boa Sorte!
    Luis

  • CSA* BDoc Queues that will not dequeue

    Hello,
    I am trying to solve a problem with queues that will NOT dequeue automatically the BDocs in the Q&A environment (dev is OK).
    This is the context:
    NW2004s, Q&A
    CRM 5.0
    BDoc processing
    When I create a new BP, a BDoc is created.
    If I go to the SWM01 transaction, I find my nice BDoc in an "Intermediate (written to qRFC queue)." State. The related queue is named "CSABUPA" + number of BP.
    In order to really process the BDoc and create the IDoc, I must click on the queue's name, verify it's got one tranasaction in, and ACTIVATE it.
    In this way, the BDoc will be processed and I will get the green light!
    If I go to the SQMR transaction, I can see that, in QA, the CSA* queues have a "U" type, whereas, in DEV, they have a "R" type.
    Yet, I don't know (perhaps have no authorization) to change the "U" to "R" type...
    Any clues?
    Thank you very much gentlemen!

    Thank you, that was it.
    I wonder what we developers can do in the end, always have to ask Administrators to do stuff

  • Edge Triggered Callback Function with E Series DAQCard

    Hardware: DAQCard-AI-16XE-50
    Software: NI-DAQ 6.9.1 call from C++
    Q- Does anyone have sample code to initiate a callback function in C++ when a pulse edge is input to a DAQCard-AI-16XE-50? I am using ACH1 as the input channel. Pulse edge occurance will be low duty cycle.Below code doesnt work..
    (I could use a latch & poll but edge triggering would be cleaner!)
    status = Set_DAQ_Device_Info(1,ND_AI_FIFO_INTERRUPTS,
    ND_INTERRUPT_EVERY_SAMPLE);
    retValue=NIDAQErrorHandler(status,"Set_DAQ_Device_Info (FIFO Interrupts)",0);
    status = Set_DAQ_Device_Info(1,ND_DATA_XFER_MODE_AI,
    ND_INTERRUPTS);
    retValue=NIDAQErrorHandler(status,"Set_DAQ_Device_Info",0);
    status = Config_ATrig_Even
    t_Message(1,1,"AI1",3,1,1,0,
    0,0,0,0,(unsigned int)EdgeCallbackFunction);
    retValue=NIDAQErrorHandler(status,"Config_ATrig_Event_Message",0);
    Thanks Millions if you help!!

    Hi kittyKat,
    The easiest way to create an interrupt service routine or callback function triggered on a digital edge is to use DAQ Event Messaging. In C, you can program for your DAQ board by using the function Config_DAQ_Event_Message. The different events you can account for are:
    DAQ Event type 0 � Acquire or Generate N Scans
    DAQ Event type 1 � Every N Scans
    DAQ Event type 2 � Completed Operation or Stopped by Error
    DAQ Event type 3 � Voltage out of bounds
    DAQ Event type 4 � Voltage within bounds
    DAQ Event type 5 � Analog Positive Slope Triggering
    DAQ Event type 6 � Analog Negative Slope Triggering
    DAQ Event type 7 � Digital Pattern Not Matched
    DAQ Event type 8 � Digital Pattern Matched
    DAQ Event type 9 � Counter Pulse Event
    If you are not
    using your analog input on your DAQ board, you can setup an analog input and use your external signal as an external clock. This would involve you using one of the shipping examples for analog input with an external clock and adding the DAQ Event Messaging for Event 1 and have the interval be 1 value. Therefore, your callback function will be called every scan or every time your signal pulses high (as the external clock). I've included some useful resources below.
    Using DAQ Event Messaging under Windows NT/95/3.1
    http://zone.ni.com/devzone/conceptd.nsf/webmain/159C194435C8CA5786256869005EF6AE?opendocument
    DAQ Events and Occurrences
    http://digital.ni.com/public.nsf/websearch/9F3DAD3E227E4203862566C2005B11EB?OpenDocument
    Hope that helps. Have a good day.
    Ron
    Applications Engineering
    National Instruments

Maybe you are looking for