webMethods - Auto Re-submission from service pub.monitor.serviceControl:resubmit

Team,

Need one query/help on auto - re-submission of the webMethods service: pub.monitor.serviceControl:resubmit

We are trying to resubmit a failed service/transaction automatically, rather than manually logging into MWS and do the job.

Scenario: A service by name sendAcknowledgement have a logic to do it’s ack job. In case if the service is getting failed, it will log an error OR a failed transaction in MWS.

Now, we have built another service, called: resubmitACK, where we are using the service: pub.monitor.serviceControl:resubmit to perform the task. The submission will happen based on the contextID which is generated for each transaction.

Issue:

While running the resubmitACK service, the transactions are not getting submitted; But when we log into MWS, navigate under the service section and search for the failed transaction; then if we resubmit the data, the service gets executed successfully.


1.JPG

What is the output of pub.monitor.service:isResubmittable when you run it by contextID?

You can resubmit services to any Integration Server that is defined as a remote
server in the Integration Server Administrator for the local Integration Server (that
is, the Integration Server on which Monitor is installed). If you want to resubmit
services on the local Integration Server, that Integration Server must be defined to
itself as a remote server. The remote server alias you enter in the Integration Server
Administrator must be the complete DNS name for the Integration Server (for example,
titanium.east.webmethods.com).

Hi,

When the picture 1.JPG as shown below, the value is getting ture; Now as shown in the WMS pciture 2.JPG, this is the service which we are trying to submit manually from the service as shown previously using the service: pub.monitor.serviceControl:resubmit.

But still it is not working.


Now, as you can see, initially we are searching the transaction which are failed as shown in picture 1.JPG and as shown in picture 2.JPG there are so many failed transactions been populated.

In our service, what we are trying to do is:

  1. get all failed transactions for a particular service
  2. populate each failed transaction information under a string inside a document and populate as many documents as the failed transactions are under a document list
  3. loop over them and based on context id, resubmit automatically.

Picture 3 explains all.



Can you confirm why the service failed in the first execution, due to data error or connection error?

If data error, you have to get the current pipeline by its context id (pub.monitor.service:getPipeline) and then modify the pipeline and pass it to pub.monitor.serviceControl:resubmit

I tried the same and it is working as expected.

Manju, are you sure you have done right code as Mahes was able to run it successfully. Better share your code what all needed to us ( Remove org specfic Util services if any from your service ) so that we can correct if any.

Thanks,

Manju, are you sure you have done right code as Mahes was able to run it successfully. Better share your code what all needed to us ( Remove org specfic Util services if any from your service ) so that we can correct if any.

Thanks,

Hi Manju,

Can you trace your code up to the control:resubmit step and verify pipeline if in the run-time variable are getting populated properly.As in the earlier post you have mentioned you are able to manually resubmit from mws,hopes there should not be any problem with audit settings or monitor related issue.

Also before resubmit you can use isResubmittable service to verify if the particular service is resubmittable.

Thanks
Baharul Islam

Hi,
I’m also facing the issue while re-submitting from flow servie.Scenerio i tested is i created one service which divides to numbers.I ran this service giving input as 1 and 0 deliberately so that the service will be failed.Then i went mws and got the context id of this failed service.Then by using this context id i fetched the pipeline using in buile monitor service then modified the pipeline by entering a number instead of 0,then i called “pub.monitor.serviceControl:resubmit” by giving the same contextid and pipeline to it.Then i verified in MWS still i see the old failed service only.And i don;t find the service with re-submitted status.I’m attacing the code.Please correct if i’m doing any thing wrong in this scenerio.
1Capture.JPG
2Capture.JPG

Mahesh – Can you please share the sample code which you have written as a few members could not able to resolve the issue.

Thanks,

Hi Mahesh,

Is it possible, can you please do send / post the code; Not sure where we are lost in between.

Thank you.

Sure, attaching the code sample on request. :slight_smile:

Make sure the remote server is correctly set as shown in screen shot Capture_1

Run the service MonitoringServicesCodeSamples:resubmitServices with the failed context ID with the input as show in the screen shot

After resubmission you will a new contextID see Capture_2

MonitoringServicesCodeSamples.zip (6.53 KB)

Attaching screen shots


Thank you Mahesh sir; Well we did follow as you mentioned, it worked just fine.

There were a small hiccup when we had to work on in multiple IS instances and multiple MWS instances. We where having a rough time in figuring out a way to submit the service w.r.t specific serverID. Now we got that, done!

Thanks a ton. :slight_smile:

You are welcome :slight_smile:

@ Jack,
Are we good now?

Yep we are.

Yes Mahesh…we are good now.Thanks a lot