Hi all,
Is it possible to stream data via a remote invoke?
I ask as according to the docs: ‘All current pipeline inputs are passed to the remote service.’
Yet testing a remote invoke with a stream always fails, but the same services using a byte object works!
The purpose of this is we need to transfer large files between different wm servers, around 800MB+ per file, so the intention was to simply stream the data from one server to the other.
If streaming doesn’t work via remote invoke, is there alternate method to get large files from one wm server to another?
To test this I wrote a simple flow service, this accepts a string (only a few bytes in length for testing), this does a pub.stringToBytes, then runs a pub.remote.invoke to a flow service on another system, this remote service does a pub.bytesToString and a pub.flow.debugLog mapping the string to message. I figured keep it as simple as possible for testing. This works fine, so I know the connection, remote server alias etc is all OK.
I then added a pub.bytesToStream to the end of the local flow service, and a pub.streamToBytes to the start of the remote flow service. Expecting it to carry on working, just using the stream rather than the byte object to transfer the data. But I get this error:
Could not run ‘dataFeedTesting’.
com.wm.app.b2b.server.ServiceException: java.lang.String
(‘dataFeedTesting’ being the name of the local flow service that runs the remote invoke)
If I disable the two stream steps, it all starts working again!
Regards,
Mark
#Integration-Server-and-ESB#Flow-and-Java-services#webMethods