Problem Invoking service using Guranteed Delivery

I have a publish/subscribe mechanism for updating changes from a source to target database. Once the document is published on the broker,
a service is invoked(which has pub.ramote.gd.start, pub.remote.gd.invoke). In the invoke I call the subscribing flow service and pass the published document as input.The service is invoked but it doesn’t insert the values in the DB. in the try catch I am printing the pipeline to file. It prints the document values but says cannot insert null. But if I dont use guaranteed delivery and the trigger fires the subscribing service directly it works fine.
Someone please help me and tell me why the invoked service is not getting the values even though it seems that the input of remote.gd.invoke is passing the document.

Hello,
I think that since you are calling the gd by the trigger, you are not able to supply the input document properly. You may want to call a wrapper flow around the gd and pass the input document to the GD. Then let the gd pass to the proper flow service. So:
trigger -> GDwrapperService -> GD -> ProcessingService
Good day.

Thank you Yemi for your help. But I still have the same problem.

I think this is a bug in pub.remote.gd.invoke…in the service-in of this flow service we have service, tid, inputs. I hardcode the service name to be invoked for service, tid is already mapped implictly from tid of pub.remote.gd.start and for inputs I map it with the document (now received from the wrapper service).

As I told you before it prints the 3 fields in the document in the subscribing service which is invoked from gd in the catch block, put still errors out on “cannot insert null into ‘column name’” i.e. first column in the target database table. I read some other thread also where someone was passing a string value to the “inputs” of the pub.remote.gd.submit flow service. The target service was invoked but the a null was passed or no value was passed. In my case I see the document being passed, the invoked service gets it but still fails.

Any inputs from you or anyone facing the same problem will be greatly appreciated…

Hello,
I only know that sometimes, I get an issue when I am using a reserved word as a column name. My SQL will have to have wrap to column name to be inserted to. Can you try the following for me if you have not solved your problem:
Have the saveToPipeline call to the ProcessingService and immediately exit with out calling any other step. Then In duplicate of the Processing Service or to disable the save step in the same service, have a restore step and single step through the service and keep checking the results tab to see the values through the execution.

I would just like to know that without a doubt the gd is giving you bad data.

Yemi Bedu