OSB Logging re-try count value

Hi,
We have a requirement to log the retry count. We have set the retry count and retry interval in business service and it is working fine.
But we are not sure on how to log the retry count. Any ideas?
Thanks.

Here is how the three retry mechanisms work in OSB:
1. Setting retry count on Business Service
In this case Proxy will send the request to Business Service and wait for a response. Business service will retry the destination service in case of failures depending on the retry count and delay. When Business Service retries it will NOT send a value of retry count in any way to the destination service. The number of retries made by the Business service will also be not known to the Proxy service. In this case you can not log the number of tries it took for a success response.
2. Setting retry count and retry delay as routing options in Proxy service while calling the Business Service
This case is exactly as above, Proxy will send request only once to Business service, and Business service will retry. The only difference is that Proxy will set the Retry Count and Delay OF business service dynamically instead of configured values in the business service configuration. In this case $outbound variable will have the Retry Count variable and the value would be the one set at design time. This value will not change any time during the processing of Proxy.
i.e., if you had set retry count as 5 in routing option, $outbound will have a value of retry count as 5. Even if Business service got a response in only 2 retries, the value will not change in $outbound of Proxy.
3. Adding a JMS queue in the flow before the Proxy Service and setting retry count and delay on the JMS queue
In this case JMS server controls the retry count and the Proxy itself is invoked multiple times according to setting of retry on JMS Queue. In this design you will be able to log the correct value of retries it took to get a response. BUT this is a big change in terms of design and I wouldnt recommend it just to log the number of retries before success.

Similar Messages

  • How to get counter value from Historian

    Hi Experts,
    We have got a scenario to keep the number (counter) to see how many time a value of tag have been changed.
    For Example:
    If the values change from 1 to 0 and  0 to 1 for 25 times in a minute. We would like to get this number (25) from Historian (Wonderware).
    Currently we are not using any Pco to fetch the value from Hisotrian since we are able to fetch the tag values from Historian database through SQLConnection.
    I would like to know if we introduce Pco, will that help us to get this counter value.
    We are working on MII 15.0 version.
    Any help of this very much appreciated.
    Thanks
    Shaji

    Hi Shaji,
    PCo OPC DA does not support  PCoQuery TagAggregateMode as it only has access to Current Values of OPC Tags, because OPC DA only provides Current Value access.
    I know it is possible to execute SQL queries against the Wonderware Historian to retrieve counts aggregates, but don't have the details handy. Recommend that you deploy the InSQLPCo Data Server in MII and try using the PCoQuery TagAggregateMode method to retrieve the Counts aggregate first.
    Regards, Steve

  • How to get seeburger work bench counter value

    hi all,
    i want to get the current counter value in the seeburger workbech counter.
    i used the following function suggested in one of the threads in forum, but its giving the below error
    func used:
    try {
    VariableBean be=VariableFactory.getVariableInstance("");
    return be.getStringVariable(variableName);
    } catch (Exception e) {
    throw new RuntimeException(e);
    error:
    RuntimeException in Message-Mapping transformation: Exception:[java.lang.RuntimeException: java.lang.RuntimeException: VariableBeanServlet: Could not call getVariable() method of the Servlet. Cause=java.lang.ClassCastException]
    i guess this above function is to get variable value and not counter value. can any body give me code to get counter value.
    Thanks a lot in addvance
    Regards,
    Rashmi
    Edited by: Rashmi H S on Aug 12, 2009 2:30 PM

    use getCounter
       //write your code here
    try {
    CounterBean be=CounterFactory.getCounterInstance();
    return ""be.getCounter("counterName_"b"_"a );
    } catch (Exception e) { 
        throw new RuntimeException(e.getMessage()); 
    will return the same counter what you have ,I also had same scenario what you are facing recently
    HTH
    Rajesh
    Edited by: Rajesh on Aug 13, 2009 7:49 PM

  • XI Adapter Illegal count value 0

    Hi all,
    When configuring the PI Adapter to connect for outbound messaging from MDM, we are receiving the following error:
    Illegal Count Value 0
    This error is in the Component Monitoring.
    Looking in the logs, this seems to be occuring because of the error here:
    Catching java.lang.Exception: Illegal count value 0.
    at com.sap.mdm.xiadapter.util.MdmUtil.getPortProperties(MdmUtil.java:98)
    at com.sap.mdm.xiadapter.AbstractMdmAdapter.start(AbstractMdmAdapter.java:214)
    at com.sap.mdm.xiadapter.MdmSender.start(MdmSender.java:46)
    at com.sap.mdm.xiadapter.jca.XIConfiguration.channelAdded(XIConfiguration.java:160)
    at com.sap.aii.af.service.administration.impl.AdminManagerImpl.notifyChannelActivationStateChanged(AdminManagerImpl.java:796)
    at com.sap.aii.af.service.administration.impl.cluster.ClusterManager.eventReceivedSync(ClusterManager.java:426)
    at com.sap.aii.af.service.event.impl.worker.sync.SyncLocalWorker.work(SyncLocalWorker.java:52)
    at com.sap.aii.af.service.event.impl.worker.sync.AbstractSyncWorker.startWork(AbstractSyncWorker.java:40)
    at com.sap.aii.af.service.event.impl.EventManagerImpl.sendEventAndWaitForAnswer(EventManagerImpl.java:484)
    Could anyone provide any advice on this?  The error occurs even if the Port is deliberately configured incorrectly, but only occurs when the Remote System is correctly configured.  Changing the user seemed to make no difference.
    We are using 7.1 SP05
    Thanks in advance,
    David
    Edited by: David Apthorpe on Jul 21, 2010 3:54 PM

    Hi David,
    The error "Configuration Error:illegel count 0" will be fixed MDM 7.1 SP05 Patch06 (bulid 7.1.05.87) which is planned to be released by beginning CW 32 2010.
    This issue only  occured for only Prior to created Communcation Channel SPO5.
    If you create Communcation Channel After Upgarde SP05 ,The messages successfully processed t
    o MDM server(Ready folder).
    Regards,
    Ramesh

  • Connect by Level using count value from record collection

    Hello:
    PROBLEM:
    ) y,(select rownum MonthNo from dual connect by level <= Cnt)
    Causes ORA-00904 Invalid identifier. Why can’t I use “Cnt” from my main query as using a constant works?
    The count value is determined for each date range in How can I return the records I need?
    Thanks, Sidney
    BACKGROUND:
    I need to be able to display a list of tax returns to my users and the status of those returns. Physical returns do not exist so it is necessary to create the data records dynamically using appropriate selects. This is not difficult and I thought I could then just use a connect by level to give me the date information so I could calculate and display the individual returns. However oracle is giving me an ORA-00904 when I try to send the “Cnt” value to connect by level. Everything works fine when I provide a constant instead of “CNT”. The “CNT” value is determined by a complex process that computes the start and stop dates for multiple return types, etc. as well as the number of periods and filing frequency. The data has to be dynamically generated using a master record which then yields the coding history from which my basic record collection is selected. Here is the result of that process:
    TaxpayerNo,TaxClass,TaxCode,FilingFequency,StartDate,StopDate,Cnt,Frequency
    10 S 1 M 6/1/2007 11/30/2008 18 12
    10 S 2 M 11/30/2008 9/30/2009 10 12
    10 S 2 Q 11/30/2010 8/18/2011 3 4
    10 L 8 A 6/1/2007 9/30/2009 3 1
    10 L 8 A 11/30/2010 8/18/2011 1 1
    From this data, I need a record for each individual month,quarter,etc. ie:
    10 S 1 M 6/1/2007 11/30/2008 18 12 6/1/2007
    10 S 1 M 6/1/2007 11/30/2008 18 12 7/1/2007
    10 S 1 M 6/1/2007 11/30/2008 18 12 8/1/2007
    10 S 1 M 6/1/2007 11/30/2008 18 12 9/1/2007
    10 S 2 M 11/30/2008 9/30/2009 10 12 11/30/2008
    10 S 2 M 11/30/2008 9/30/2009 10 12 12/30/2008
    etc.
    DOES NOT WORK
    select y.*,MonthNo,Add_Months(StartDate,MonthNo*Frequency) from (
    select x.*,
    (case when FilingFrequency = 'M' then Ceil(Months_Between(StopDate,StartDate))
    when FilingFrequency = 'Q' then Ceil(Months_Between(StopDate,StartDate)/3)
    when FilingFrequency = 'A' then Ceil(Months_Between(StopDate,StartDate)/12)
    else 0
    end) Cnt,
    (case when FilingFrequency = 'M' then 1
    when FilingFrequency = 'Q' then 3
    when FilingFrequency = 'A' then 12
    end) Frequency
    from (
    ... complex code to calculate the values of the start and stop dates needed above...
    ) x
    ) y,(select rownum MonthNo from dual connect by level <= Cnt)
    ERROR MESSAGE
    This returns ORA-00904: "CNT": Invalid Identifier. I don't get an error if I use a constant:
    WORKS USING A CONSTANT BUT MUST HAVE THE ACTUAL CNT VALUE
    ... Same code to generate data ...
    ) y,(select rownum MonthNo from dual connect by level <= 3)
    How can I get this to work using the "CNT" value instead of a constant?

    A technique like this should fix your problem.
    TUBBY_TUBBZ?with data (col1, cnt) as
      2  (
      3    select 1, 3 from dual
      4      union all
      5    select 2, 2 from dual
      6  )
      7  select
      8    d.col1,
      9    t.column_value
    10  from
    11    data  d,
    12    table(cast(multiset(select level from dual connect by level <= d.cnt) as sys.OdciNumberList)) t;
                  COL1       COLUMN_VALUE
                     1                  1
                     1                  2
                     1                  3
                     2                  1
                     2                  2
    5 rows selected.
    Elapsed: 00:00:00.00
    TUBBY_TUBBZ?As opposed to what you have now, which is basically this
    TUBBY_TUBBZ?with data (col1, cnt) as
      2  (
      3    select 1, 3 from dual
      4      union all
      5    select 2, 2 from dual
      6  )
      7  select
      8    d.col1,
      9    level
    10  from
    11    data  d
    12  connect by level <= d.cnt;
                  COL1              LEVEL
                     1                  1
                     1                  2
                     1                  3
                     2                  2
                     1                  3
                     2                  1
                     1                  2
                     1                  3
                     2                  2
                     1                  3
    10 rows selected.
    Elapsed: 00:00:00.00
    TUBBY_TUBBZ?

  • How to get counter values from pci 6221 card?

    Hii
     I am using PCI 6221 card .. In that i am using the ctr o .. In my application i am using Linear encoder to measure the Lift movement.. so from software how to access the counter values i.e how much mm it moves... 

    Measure Angular Position.vi in the LabVIEW examples will be a good starting point. Adapt it to Linear Encoder by clicking on the selector below DAQmx Create Channel.vi.
    You can also create a corresponding DAQmx Global Channel (or task) in MAX and then use it in your code.
    Feel free to post back if you need further help.
    Message Edité par JB le 10-31-2008 02:15 PM

  • Counter value jumps on occasion (PXI 6255)

    I am using a PXI 8108 controller (Windows) with a PXI 6255 AI card. A pulse generator (1 KHz) is incrementing the hardware counter of that AI card in order to have an external reference clock, i. e. having a timestamp for each AI sample value.
    I am reading 1000 AI values from several channels  (together with 1000 counter values) via DAQmx blocks with a higher frequency than the external clock's 1 KHz (e.g. AI Rate 5 KHz-> reading every counter value approx. 5 times). Every now an then I am losing counter values, e. g. counter value 6789 is followed by 6823.
    Shouldn't be the PXI card's counter buffer independant of Window's CPU load? Getting 1000 values from the card buffer, the jumps are even located in the middle of the 1000 values. Maybe there's a problem with atomicity while reading from the buffer, so that I get 500 values from the buffer, (pause), and 500 more values from a later point in time. Is this possible?
    I am sure, I can not blame the digital pulse generator (from Hameg Instruments) for dropping pulses.
    Attachments:
    counter-daq.png ‏20 KB

    Hello,
    If the first scan only places 4 samples in the AI FIFO (2 less than the number of channels requested), then I would expect this loop to run forever in aiex1.cpp (I added some debugging prints to make it easier to see the channels that should be getting returned).
           while ( m < numberOfChannels )
            if(!board->AI_Status_1.readAI_FIFO_Empty_St())
                value = board->AI_FIFO_Data.readRegister ();
                aiPolynomialScaler (&value, &scaled, &scale);
                printf ("Channel %d: %e,\n", m, scaled);
                m++;
        printf("\tEnd of Sample %d\n", n);
    How is the example able to proceed past this loop?
    I have checked the code for FIFO flushes and resets between aiStartOnDemand (board); and when the FIFO gets read.  I have also run the example with 6 channels, this time on Windows.
    To proceed we would need these items:
    1) We would need the exact output (with my added debug prints).
    2) A complete dump of all registers accessed during the example.
    Steven T.

  • OSB Log file

    OSB logging using message flow logs the messages to domain admin server log file.
    is it possible to route the OSB logs to a central logging system such as sys logs?

    You will need to create some Java classes that implement the log4j framework and expose some static methods that will have logger statements.
    For ex: Create One java class call SBLogger. This should have the implementation for a log4j logger by reading a log4j.xml or log4j.properties file. And create one static method like logMessage(str LoggerName, strLogMessage, strLogLevel). Inside this method create a logger with the strLoggerName and then have the corresponding logger.debug() or logger.info() type statements based on the log level. Or you can create different methods one each for debug, info , etc... log levels like logDebugMessage(message).
    Once you have tested this externally, create a jar file (with the *.class of the log4j implementation) and upload this to the osb console are jar. Ensure that you place the log4j properties file in the config folder of the osb domain, so that osb will be able to load it when it starts up. [After placing the log4j.xml file, you will need to restart the domain for it take effect]
    Now using java callout, you can invoke the corresponding logging methods, which will log into the files depending on the log4j.properties appender configuration.
    For changing the loglevels on the fly you can refer to a solution given by Ananth @ http://ananthkannan.blogspot.com/2009/10/how-to-change-log-levels-on-fly-using.html
    Hope this information will help you to proceed with the implementation. Do let me know in case you run into issues.
    Thanks,
    Patrick

  • OSB Logging: Case study

    Hi
    I want to separate the OSB logs based on proxy service names. I went through following threads:
    1. alsb logging
    2. https://kr.forums.oracle.com/forums/thread.jspa?threadID=1556555
    I was wondering if i can change DEFAULT BEHAVIOUR OF 'LOG' action in OSB??
    I mean when we use 'LOG' action, the logs go to single file named Servername.log. So MangedServer1.log and ManagedServer2.log in my case (2 managed servers).
    What I want is this: When I use 'LOG' action, the logged xquery expression should go to the file whose name is the same as of PS where the action was used.
    I also want the logs to be in a single location irrespective of the number of managed servers.
    I played with creating log filters in WebLogic but did not help.
    Any ideas
    1. Using WebLogic logging filters
    2. Using WebLogic logging API

    ah! changing behavior of log action must be a tedious task, so far i could not find any illustrations.
    some code sample was available on dev2devbea.com, but since forum is archived - the sample is not available for download :-(

  • Idoc to file scenario which involves accessing a persistant counter value

    Hi,
    Presently Iam dealing with an idoc to file scenario in which I need to map the idoc info and also a persistant counter value to a flat file. So in how many ways can we maintain a persistant counter value(either by variable/file/database)? Please can any one help me in overcoming this scenario by providing any implemented example.

    Hi,
    Please see the following links , you can use database is best.
    /people/prasad.illapani/blog/2006/10/25/how-to-check-jdbc-sql-query-syntax-and-verify-the-query-results-inside-a-user-defined-function-of-the-lookup-api
    /people/michal.krawczyk2/blog/2005/09/15/xi-rfc-mapping-lookups-from-bc-to-xi
    /people/morten.wittrock/blog/2006/03/30/wrapping-your-mapping-lookup-api-code-in-easy-to-use-java-classes
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    /people/alexander.schuchman/blog/2005/09/29/ipc-customization--add-additional-subtotals-and-include-rebate-conditions
    Regards
    Chilla..

  • DB adapter retry count value

    Hi gurus,
    I am using a db adapter for polling options. The option used is 'Delete the row(s) that were read' .
    Here the retry count by default is set to unlimited. Is this the recommended one? In normal db adapter options i see the retry count as '4'
    the property value seen in composite.xml is shown below
    <property name="jca.retry.count" type="xs:int" many="false" override="may">2147483647</property>
    Will this lead to any performance issues? Or what could be the correct retry count value?
    Please let us know.

    Hi,
    We have used the polling options using Logical delete vastly in our project and never faced any performance issues with respect to this property value being set to 'unlimited'.
    I believe there should not be any performance issues with respect to the 'Delete the row(s) that were read' option as well.
    According Oracle documentation:
    In the Auto-Retries section, specify the value for auto-retry incase of time out. In case of a connection related fault, the Invoke activity can be automatically retried a limited number of times. You can specify the following values in the fields in this section:
    To retry indefinitely, type unlimited in the Attempts field.
    Interval is the delay between retries.
    Backoff Factor: x allows you to wait for increasing periods of time between retries. 9 attempts with a starting interval of 1 and a back off of 2 leads to retries after 1, 2, 4, 8, 16, 32, 64, 128, and 256 (28) seconds.
    Thanks,
    Deepak.

  • Appraisals having error "Unable to lock action log, Please try again"

    Hi all,
    We have some appraisal issues wherein most of the appraisal docs under certain appraisers cannot be opened.  We are receiving error "Unable to lock action log, Please try again".  Would anyone have an idea where to look in order for us to fix this problem?

    Hi Maria,
    Are you able to resolve this issue ? If yes, can you share your findings and solution, please ? Thank you.
    Regards
    Kir Chern

  • I'm getting this warning,but i dont know where is it located.please let me know,where should i rectify this? WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!Enab

    i'm getting this warning,but i dont know where is it located.please let me know,where should i rectify this?
    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
    Note: There is some performance penalty associated with assembly bind failure logging.
    To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

    Hello,
    This seems not related to SQL Server but more related to Fusion or a missing DLL. The following resources may help you:
    http://blog.mediawhole.com/2010/08/enable-fusion-assembly-binding-logging.html
    http://jamesecampbell.blogspot.com/2011/11/how-to-enable-assembly-binding-logging.html
    http://www.codeproject.com/Tips/141281/WRN-Asssembly-binding-logging-is-turned-OFF
    http://stackoverflow.com/questions/5986930/assembly-binding-logging-is-turned-off
    Please verify if a missing DLL is specified before the "WRN: Assembly binding logging is turned OFF" message.
    Hope this helps.
    Regards,
    Alberto Morillo
    SQLCoffee.com

  • How to dynamically set Min count and Max Count values in Adobe Print Form?

    How to set the Min Count and Max Count values dynamically in a Print Form?
    The values when set should over ride the values set in Binding Tab.
    This is all needed to print multiple Material Number labels on a single page - and the number of labels to be printed needs to be under user control - something like an Avery Address labels
    Please advise.
    Thanks,

    Here is a work around that works for me and may not be an intelligent solution .
    I kept the Min Count to 1 on the subform binding properties.
    Per the number of labels required, I appended the same item to the internal table so many times and passed it to the label.
    it works fine for my requirement.
    However - leaving out the post for a while to see if this can be done at the form level via scripting.
    Thanks,

  • How to get record count value in variable

    Hi,
    i wanted to capture record count value in the variable?
    Please let me know how to do this?
    Thanks,
    jag

    To determine count of records, use: count(field_name) -- replace field_name with your appropriate field.
    You don't have to save the record count value in a variable. You can directly use the condition <?if: count(field_name) > 0?> display table <?end if?>
    If you want to store it in a variable: use <?variable:record_cnt;count(field_name)?>
    Take a look at this post that uses a record count: https://blogs.oracle.com/xmlpublisher/entry/no_data_found
    Thanks,
    Bipuser

Maybe you are looking for

  • Can only see the first page of books downloaded on Nook using Overdrive, how do I fix?

    Can only see the first page of each chapter of downloaded books on my Nook, how do I fix?

  • Get IP of interface

    I have a computer with two interfaces (eht0 and eth1). This computer receives broadcast datagrams from any interface... I would like to know the ip address of the interface in which arrive the datagram. How can I get the ip address of MY interface fr

  • Fonts are missing. How do I install them?

    I have Windows 7 and Office 2007. I installed the typewriter toolbar a few days ago, and that came with a choice of font, which was great.  Now, the list of fonts is gone.  How can I install the fonts?  I went to Acrobat help and they are talking abo

  • Xsl:sort order parameter

    Does the oracle xml parser support this syntax (works with Xalan) <xsl:sort order="{$order}" select="sortnode" /> I need to parameterize the order="ascending/descending". I am sucessfully passing in my parameter (I can output it with <xsl:value-of se

  • Problem Related to maintain number range

    While doing configuration in DEV i get to see many groups When i create a new group It doesn't appear in the list i tried everything but new groups are not being created is it because of the  so many groups? or is it something else