Messaging Trigger Error - Missing Parameter: object

I have a messaging trigger that listens for a JDBC adapter notification (insert) and then sends the ID to a Flow Service. When I run the Flow Service manually and provide the ID value, it works fine, however when I trigger the change (with an insert) I get the error “Missing Parameter: object”. I’m wondering if the trigger has a problem with an integer value? Any ideas?

(package).subscribe.(folder):SendTimesheetTriggered(/0/2/0/2)

[ISS.0086.9249] Missing Parameter: object

com.wm.lang.flow.FlowException: [ISS.0086.9249] Missing Parameter: object
at com.wm.lang.flow.FlowExit.getFailure(FlowExit.java:295)
at com.wm.lang.flow.FlowState.willExit(FlowState.java:238)
at com.wm.lang.flow.FlowSequence.invoke(FlowSequence.java:263)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:520)
at com.wm.lang.flow.FlowState.step(FlowState.java:389)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:360)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1052)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:650)
at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:39)
at com.wm.ps.serviceMock.ServiceInterceptor.process(ServiceInterceptor.java:378)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:49)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:243)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:303)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:34)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:377)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:549)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:344)
at com.wm.app.b2b.server.dispatcher.trigger.Trigger.invokeService(Trigger.java:556)
at com.wm.app.b2b.server.dispatcher.trigger.Trigger.processMessage(Trigger.java:454)
at com.wm.app.b2b.server.dispatcher.um.trigger.ExecutionTask.process(ExecutionTask.java:449)
at com.wm.app.b2b.server.dispatcher.um.trigger.ExecutionTask.processMessage(ExecutionTask.java:237)
at com.wm.app.b2b.server.dispatcher.um.trigger.ExecutionTask.run(ExecutionTask.java:169)
at com.wm.util.pool.Poo…

Put savepipeline in the flow service and check what input is coming to the service for adapter notification event and mapping the values accordingly.

The above error occurs when the value is not coming in pipeline or the value is being mapped from wrong input or input is not present at run time.

Regards,
Syed Faraz Ahmed

Hi Peter, hi Syed,

please make sure that the input document of the triggered service has the full namespace name of the document generated by the notification. Otherwise the input document will not be recognized by the service for further processing.

Just copy the notification document and then paste the value in name field of the input document in the services input/output tab.

Regards,
Holger

Thanks, I’ve confirmed the Input document looks correct. If I enable “Validate Input” I get the error: com.wm.app.b2b.server.ServiceException: [ISC.0049.9005] Input validation for service ‘[package/namespace]:SendTimesheetTriggered’ failed: ‘/TimesheetEntryAuditId VV-005 [ISC.0082.9034] Field is absent, field must exist’

The value is certainly there… I’ve tried creating new notifications/triggers/services with no luck. Am I missing something? More info attached.

(Sorry, accidentally posted as Brad - we were reviewing an Empower ticket).

Interestingly, I get the same error when I try and debug/run the Messaging Trigger directly in the designer (despite providing the integer value).

One Question here.

When you publish the document it will check for the mandatory fields and throw and exception and it will not allow you to publish the document.

Why you are doing a validation again at subscriber side?

Do one thing. Just remove the check box for validate input and try publishing the document and check if its still throwing error.

Regards,
Syed Faraz Ahmed

I ticked validate input just to see what it says.

Are you talking about doing anything special when I “publish the document”? I’m just doing a “Run As → Publishable Document” (on the JDBC notification document) to see the issue.

Nothing special. it’s a default behavior when you publish the document.

Just for testing purpose remove the checkbox and try if its working fine.

Regards,
Syed Faraz Ahmed

Not sure what solved the problem, but I suspect that synchronising the documents with UM may have fixed it.

The “Missing Parameter: object” was a downstream error that resulted from using the pub.string:objectToString with trying to map an integer to a string - apparently this is not supported and a direct mapping should simply be used.

Hi Peter,

sounds like some sort of “Autoboxing”.

When converting a native integer type to a String this will be done automatically by the JVM.

Naitve integer type is different from Object type Integer.

Regards,
Holger

Database is the basis for SQL, and for all modern database systems like Monitoring Database. DataSunrise Monitoring Database help to monitor real time console based database. This database size increased by automatically. It is beneficial for Converting binary data to text formate.