Hello,
I’ve developed a java service that invoke a flow service with Service.doThreadInvoke, that executes it in another thread.
This flow service have an input that contains a file sent by ftp and executes a flat file parsing.
I have a problem with the object that contains the file, it is obtained from the pipeline with the variable contentStream, and arrives empty to the thread, and return an exception Unable to find input delimeters too short.
I’ve tried some things: sending directly the IData pipeline of the variable that receives the invocation of the java service (it doesn’t work), or creating a new IData input, where I store the content of the pipeline…
This is the code
public static final void updateRefSEDA(IData pipeline)
throws ServiceException {
IDataCursor pipelineCursor = pipeline.getCursor();
Object file = IDataUtil.get(pipelineCursor, “contentStream”);
// input
IData input = IDataFactory.create();
IDataCursor inputCursor = input.getCursor();
IDataUtil.put( inputCursor, “contentStream”, file );
inputCursor.destroy();
pipelineCursor.destroy();
try{
ServiceThread st = null;
st = Service.doThreadInvoke ( “com.lda.qyr.seda”,“updateIdRefSEDA”, input, 2000);
}catch( ISRuntimeException e){
}
}
Another option is sending the pipeline directly
st = Service.doThreadInvoke ( “com.lda.qyr.seda”,“updateIdRefSEDA”, pipeline, 2000);
Do you know why the content goes empty to the thread?
Thanks