Filepolling gets disabled

I am looking to be alerted with an email when a file polling function status changes from enabled to disabled. Where can I look for this error and how do I extract it with a flow?

Or, is there a setting that will re-enable the filepolling if it gets disabled?

I am using webMethods IS 6.01

I really need some help with this. The file polling function becomes disabled, the files do not get picked up, the flow does not start, then I get a phone call telling me that it’s broken again.

I am on a windows environment polling a mapped drive on the server. I assume there is a network interruption sometime in the night that disrupts this filepolling function. So I need to be able to catch this when it happens.

Anybody have any Ideas?

When you discover that file polling has become disabled, what do you do to re-enable it? Do you have to “fix” the mapping to the shared drive or simply re-enable the adapter?

-M

I just re-enable the adapter and all the documents get picked up, the mapped drive is still available.

Is should be possible to write a java service that makes use of the ListenerAdmin class in the com.wm.app.b2b.server package to determine whether a specific FilePollingListener is enabled and listening.

If the file polling listeners were disabled or no longer listening you should be able to use the ServiceListenerIf class’s startListening() and setEnabled() methods to get it going again.

You could schedule this service to run at regular intervals to detect and re-enable any FilePollingListeners that have shut down for some reason.

The ListenerAdmin and ServiceListenerIf classes are not documented in the javadocs, so you may need to consult tech support for assistance.

HTH,

Mark

Yes, that worked to re-enable the receive function. THANK YOU !
Now, I could schedule a job to run but I would like to know the instant the receive function gets disabled, because documents could be written at any moment.

It seems that I should be able to publish server error data to a flow and interrogate it there. This method could be useful for further integration error alerts.

What would be my best option for catching IS errors as they happen?

Without knowing more about why the file polling listener is being disabled, it would be tough to come up with an adequate error handling solution.

Any ideas what could be causing this?

M

Here’s a Flow service that determines whether a specified file polling listener is listening. If not, it automatically enables it. If so, it does nothing.

Note: The name of the file polling listener must be in the format “FilePollingListener:folderName” where folderName is the folder specified in the “Monitoring Directory”.

For testing purposes, I created a file polling listener that monitored the “D:\foo” directory on my laptop. I set the “Package Name” to “WmFlatFileSamples” and the “Processing Service” to “Tutorial:importData”.

Package containing enableFlatFilePollingListener Flow service
ConnevaUtils.zip (6.7 k)

Mark

Thats pretty cool. I put a service together with a similar input and outcome, but I did mine as a java service. I really like the idea of calling the hidden java methods from a flow service. (Seems obvious now)

As far as why the file polling gets disabled, I am working to try and find out the backup schedules and other possible periodic interruptions that could be causing this trouble.

Thank you for your assistance thus far. This issue is not quite resolved but I do have a work around. When I trap the error (WMERRORS?), I may need more info.

-Joel

Joel,

Fred Hartman actually gave me the idea of doing it as a Flow service. I had used an IDE to get the input and output signatures of the ListenerAdmin classes but was having some trouble with one of the calls.

Fred reminded me that a safer approach is to examine the DSP code of the appropriate pages of the web-based Admin tool to find the services that are invoked. Invoking the same services as the DSP pages do is safer than using the classes directly, because they are less likely to change from release to release.

I found the DSP code to be a little confusing at first, but with what I had learned from looking at the class signatures was able to cobble together a Flow that worked (and will hopefully continue to work for future releases).

Mark

Remember - no guarentees on backward compatibility of non-public services.

One way to protect yourself a little bit more is to wrap the non-public services with your own Flow, so if there is a change you can isolate most of your code from the stuff that reaches under the hood. If something changes you can tweek your Flow to perform a backward compatible mapping, or at least give you a single place to add a pub.flow:tracePipeline to figure out something has changed.

You can then write a test or two for the wrapper services in your “myapp.nonpublicwrappers.WmRoot” folder which you run each time you get a new release. Maybe such tests could be shared on wMUsers :wink:

Can someone tell me where these ListenerAdmin services are? I can’t find them.

Thanks,
Jessica

Jessica,

These are non-public services that can not be picked from a list in Developer. However, if you click the insert button and then select “Browse…” from the pick list you can type in or paste in the name of a “non-public” service.

One of the best ways to find these non-public services is to examine the source code of the DSP page in the Admin tool that works with the components you need (listeners in this case).

Bear in mind Fred’s cautions about the use of non-public services. They indeed can come in very handy at times, but you may need to build some testing services that would allow you to quickly tell if a new version supports your favorite non-public services.

[Of course, if a non-public service is really that useful one could argue that it should be PUBLIC in the first place -mdc]

Mark