How can I call a flow service using java service?
check out the java doc for:
com.wm.app.b2b.server.Service
for details
IData outputValues = Service.doInvoke(“folderName”, “serviceName”, pipeline);
//get a cursor for the output object
IDataCursor outputCursor = outputValues.getCursor();
Page 245. [Generating Java Code from Service Input and Output Parameters]
HTH.
Thanks,
Rankesh
Tha’s not working…
I call a service with the same inputs and outputs but the return is null!
Can someone see waht’s wrong?
public static final void Teste(IData pipeline) throws ServiceException {
// input
IData input = IDataFactory.create();
IDataCursor inputCursor = input.getCursor();
IDataUtil.put( inputCursor, "valorA", "valorA" );
IDataUtil.put( inputCursor, "valorB", "valorB" );
// output
IData output = IDataFactory.create();
try{
output = Service.doInvoke( "folderName", "serviceName", input );
}catch( Exception e){}
IDataCursor outputCursor = output.getCursor();
String resultado = IDataUtil.getString( outputCursor, "resultado" );
IDataUtil.put(outputCursor,"resultado", resultado);
inputCursor.destroy();
outputCursor.destroy();
}
Thanks!!
I assume you missed to replace the folder and service name. Sample code to call pub.string:concat from a java service:
Select the service that needs to be called in java service, right click → select “Generate Code” → select “For calling this service from other service” → select “specification & fields” → paste the clipboard data in java service.
// input
IData input = IDataFactory.create();
IDataCursor inputCursor = input.getCursor();
IDataUtil.put( inputCursor, “inString1”, “inString1” );
IDataUtil.put( inputCursor, “inString2”, “inString2” );
inputCursor.destroy();
// output
IData output = IDataFactory.create();
try{
output = Service.doInvoke( “pub.string”, “concat”, input );
}catch( Exception e){}
IDataCursor outputCursor = output.getCursor();
String value = IDataUtil.getString( outputCursor, “value” );
outputCursor.destroy();
HTH.
Thanks,
Rankesh
I already have replaced the folder name and service name. I just use “folderName” to be easier to understand.
I tried your example and still not working; nothing is returning on “value”.
Please find the code as attachment.
Please feel free, in case you need more clarification.
Thanks,
Rankesh
Looking for your code I found one error on mine!
Thank you!!