IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

pub.monitor.archive:serviceArchive throwing"Error in archiving: com.wm.monitor.util.MonitorException

  • 1.  pub.monitor.archive:serviceArchive throwing"Error in archiving: com.wm.monitor.util.MonitorException

    Posted Wed September 25, 2013 04:21 AM

    Hi All,

    Could you please help me on below issue?

    Am invoking the “pub.monitor.archive:serviceArchive” using flow service with following input parameters.

    days -1
    archiveAction- DELETE
    status-COMPLETED-FAILED

    When am invoking the service, am getting the follwoing exception:
    Error in archiving: com.wm.monitor.util.MonitorException: OTHER EXCEPTIONS OCCURRED!-903ORA-00903: invalid table name

    server log:

    java.lang.Thread.run(Thread.java:662)
    [590] at com.wm.util.pool.PooledThread.run(PooledThread.java:131)
    [589] at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:366)
    [588] at com.wm.app.b2b.server.HTTPDispatch.handleRequest(HTTPDispatch.java:186)
    [587] at com.wm.app.b2b.server.HTTPMessageHandler.process(HTTPMessageHandler.java:160)
    [586] at com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage(DefaultServerRequestHandler.java:119)
    [585] at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:234)
    [584] at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:386)
    [583] at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:547)
    [582] at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:363)
    [581] at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:30)
    [580] at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:276)
    [579] at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
    [578] at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:51)
    [577] at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:243)
    [576] at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
    [575] at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:41)
    [574] at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:643)
    [573] at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1063)
    [572] at com.wm.lang.flow.FlowState.invoke(FlowState.java:409)
    [571] at com.wm.lang.flow.FlowState.step(FlowState.java:444)
    [570] at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:584)
    [569] at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)
    [568] at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:194)
    [567] at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:234)
    [566] at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:386)
    [565] at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:547)
    [564] at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:363)
    [563] at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:30)
    [562] at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:276)
    [561] at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
    [560] at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:51)
    [559] at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:243)
    [558] at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
    [557] at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:41)
    [556] at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:643)
    [555] at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:443)
    [554] at java.lang.reflect.Method.invoke(Method.java:597)
    [553] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [552] at sun.reflect.GeneratedMethodAccessor340.invoke(Unknown Source)
    [551] at pub.monitor.archive.serviceArchive(archive.java:147)
    [550] at com.wm.monitor.app.Archive.serviceArchive(Archive.java:460)
    [549]2013-09-25 05:34:35 GMT [MOD.0120.0000I] com.wm.monitor.util.MonitorException: OTHER EXCEPTIONS OCCURRED!-903ORA-00903: invalid table name
    [548]


    #webMethods
    #Integration-Server-and-ESB


  • 2.  RE: pub.monitor.archive:serviceArchive throwing"Error in archiving: com.wm.monitor.util.MonitorException

    Posted Wed September 25, 2013 11:11 AM

    Before running this service did you set up Archiving tables in the back end? as you need to configure first archiving before you run any of the archive services…please check with your wM Admin/DBA about the set up etc…

    Also review the documentation pertaining to the archiving service.

    HTH,
    RMG


    #Integration-Server-and-ESB
    #webMethods


  • 3.  RE: pub.monitor.archive:serviceArchive throwing"Error in archiving: com.wm.monitor.util.MonitorException

    Posted Thu September 26, 2013 04:01 AM

    Thanks a lot for your reply:)

    My requirement is to delete audit logs older than one day. Also, this task should be scheduled(May be daily basis).

    Is there any approach to do this activity without setting up the archive tables? Please advise. Thanks for your help:)


    #Integration-Server-and-ESB
    #webMethods


  • 4.  RE: pub.monitor.archive:serviceArchive throwing"Error in archiving: com.wm.monitor.util.MonitorException

    Posted Tue May 10, 2016 11:25 AM

    Hi Prasath,

    you will require the archive tables for deleting the audit logs.
    These tables are used for preparing the entries to be deleted.

    Dependent on your wM Version these tables should be placed in a different db schema than the live data.

    See Monitoring Guide for details.

    The archiving service can be scheduled but you might need to implement a wrapper for these as it is not possible in all wM versions to assign Input values to scheduled services. Recent versions of the wM 9.x stream allow assigning Input values to scheduled services.

    Regards,
    Holger


    #webMethods
    #Integration-Server-and-ESB


  • 5.  RE: pub.monitor.archive:serviceArchive throwing"Error in archiving: com.wm.monitor.util.MonitorException

    Posted Thu May 12, 2016 12:52 PM

    You can also schedule the archive stored procedures, which get installed when you create the Archive schema, directly on the database. This is my preferred approach.

    Percio


    #webMethods
    #Integration-Server-and-ESB


  • 6.  RE: pub.monitor.archive:serviceArchive throwing"Error in archiving: com.wm.monitor.util.MonitorException

    Posted Thu May 12, 2016 02:12 PM

    At present we are having oracle jobs in the DB which takes care of this task.

    @Percio, can you please eloborate about your statement.

    Thanks,


    #Integration-Server-and-ESB
    #webMethods


  • 7.  RE: pub.monitor.archive:serviceArchive throwing"Error in archiving: com.wm.monitor.util.MonitorException

    Posted Thu May 12, 2016 04:12 PM

    Sure. When you install the Archive database component using the Database Configurator, it creates a schema/database, and inside that schema/database it creates some stored procedures. E.g.: PROCESS_ARCHIVE_START_PROCESSARCHIVE, SERVER_ARCHIVE_START_SERVERARCHIVE, SERVICE_ARCHIVE_START_SERVICEARCHIVE, etc.

    When you call the archive services inside the WmMonitor package, those services are simply calling these stored procedures behind the scenes (assuming you didn’t check the box “Enable JDBC Archive (Disable Stored Procedure Archive)” in the WmMonitor home page). Therefore, instead of scheduling these services to run on the IS, you can simply schedule these stored procedures to run directly on the database. In SQL Server, for example, you can do it via the SQL Server Agent, and in Oracle, you can do it via the Oracle Scheduler, if I’m not mistaken.

    The advantages of doing this are:

    • No IS resources are consumed (CPU, threads, memory, etc)
    • Reduced network chatter
    • It delegates data archival to database administrators instead of webMethods admins/developers
    • Archival happens whether the IS is up or not

    Hope this helps,
    Percio


    #Integration-Server-and-ESB
    #webMethods