File polling - Flatfile issue

Hi All,

I developed an interface using filepolling concept, in the processing service i used pub.flat:convertToValues service and i passed the input as object and schema also mentioned. But when the file is processing i am getting an error like com.wm.lang.flow.FlowException: [FFP.0018.0009] Input parameter ffData cannot be null. Even i mapped the object input field and the file is moving to error directory.
Can any one please let me know the solution.

Thanks,
Surya.

You have a mapping issue, basically the input that you have mapped is not in reality the name of the object at runtime. Try adding pub.flow:savePipeline to the beginning of your service, then test and after execute the service pub.flow:restorePipeline direct from Designer using the same name as the input to your savePipeline.
You will then be able to see the state of the pipeline when your service was called and be able to determine the correct name of the input object.
Then add an object type to your services input signature of the same name and map that to your convertToValues service.
regards,
John.

Hi @John_Carter

I have tried as you suggested but still i am not getting where is the error. It still showing input parameter ffData not to be null. please find below the attachment and let me know the solution.

Thanks,
Surya.

I’m positive that the file-poller provides the object “ffdata” at runtime, while you have ffData in your input. Try changing your service input object to ffdata and map it explicitly to convertToValues.

KM

Hi @Venkata_Kasi_Viswanath_Mugada,

I have tried your way but the port processing the files which is not valid schema and the files placed into error directory. But when we are processing the CSV format files as per the schema the port placing the files in done directory but when we restore the pipeline and debug the service in designer i am getting the same error input parameter should be passed.

Thanks,
Surya

The input to the service is ffData, but that is not what is provided to your service. You misunderstood what I asked for. Don’t put restorePipeline in your code. Run the restore pipeline directly from Designer with “Run as”. Then look at the result panel to identify what is in your pipeline, that way you can identify the input being given to you service.
John.