Sending flat files to IS6 services via FTP

Hi,
I’d like to send flat file (text or xml, doesn’t matter now) to IS service via FTP but I have problems with extracting the content of a file. I’m definitely sure that the Receiver service is really invoked by FTP client, because I execute savePipelineToFile at the very start of it and I can see dumped pipeline each time. It looks like this:
<idataxmlcoder>
<record>
<value>dump.txt</value>
</record>
</idataxmlcoder>

As you see there is no trace of either node (text/xml), contentStream (text/plain) or ffdata (application/x-wmflatfile) object. I wrote very simple Java service to be sure of the pipeline content:
IDataHashCursor pipc = pipeline.getHashCursor();
pipc.first();
String content = (String) pipc.getKey();
Object obiekt = pipc.getValue();
pipc.insertAfter(“content”, content);

When I execute above service at the start of the Receiver service, I get the name of object with data (e.g. ffdata or node), but the value of this object is always null.
Now the question: why can’t I get the content of a file? I probably miss something very obvious.
I’d appreciate any help
Marcin

Hi Marcin,

When you read it in a file server you should use the getFile service and load the file content as bytes, then invoke the bytesToString service.
In this case, I think the input data type must be an object and then invoke the xmlNodeToDocument service to convert it into the internal webMethods document type you previously defined.

HTH

Hi Renato,

I’m putting the file into the Receiver service namespace, not into filesystem, so I don’t think I’m able to get it with getFile function. As I understand, the content of my file should appear as an input to the Receiver service.

Marcin

in your receiver service have contentStream as an input string.
Then the first thing you do in your services is use streamToBytes, from there bytesToString and away you go.

HTH

Ha! It works! What makes me wonder is why contentStream is not included in Pipeline dump.

Thanks a lot
Marcin

Hi,

contentStream is a Stream. As a result, it never gets reported in pipeline.

Regards,

Chirag.

So everything is clear now… I wish I always had my issues solved so quickly.

Thank you guys
Marcin