HTTP error while sending flatfiles

hi,
i created a service with sends a flatfile through the client:http service.
at the receiving end i have a converttovalues service.The data has been sent to the receiving server but Converttovalues method is not getting the input to its ffdata.
the error it is showing is service error 403. i used the correct username and password also.

i also tried the same thing by sending a receiving an XML document and i could do it.
i dont know how to deal with flatfiles can anyone help me.

One thing that will help us to help you is if you provide us any error information. One way to do this is to set the maxErrors input field in the pub.flatfile:convertToValues service to “-1” (negative one) which returns all errors. Also, set returnErrors to asArray. Report back what you find and let us know.

ffData can be of type String, ByteArray, or InputStream so make sure that your mappings are correct and that the pub.client:http contains the correct input parameter for your service. This is probably where the problem lies in that the input is not correctly mapped in the http call.

Ray

the problem is that the destination file itself is not openning.

i have a put file service which gets a flatfile from the drive and then sending it to another sevice( till now i am trying on the same machine itself) through http. i have set all the values in the http service. i the data field of the http i have used the bytes to send the data.
in the receiving service i have a service named Converttovalues.(there is no input filed).

the server is showing opening Socket [url]http://.[/url]...... and nothing else. 

in the error message at the sending end i have an error message as service error
status 403
i also set the header/line/contenttype at the output to application/x-wmflatfile.

i dont know what is the fault. could you please help me out.

Status 403 is normally a network permissions problem or some sort of problem like that. It means that the invoking service does not have access to the receiving asset through TCP/IP.

You can try to ping the same service, or, you can try to manually invoke the service through a web browser. You won’t be able to pass all the parameters through, but at least you can test the network to see if you can invoke the service.

HTH

Ray

i got that part and that is the reason why tried by sending an xml file
and i could send the file and receive it . i used the xmlnodetoxmldocument service. since the manual sys that if the we send an xml file like that the server parses it and sends it as node by itself.
so i want to know whether that is any service that can receive a flatfile.

or can u help in a way that i can send a file from here and save it at the localdrive in the other end rather than using ftp.

thank you

You have to create a content handler for the FF. Check the FF developer guide and TN FF guide.

If you are sending in a string, then you should be able to recover a string in the receiving service.

To do this quickly to see if this is your problem, map the input to the receiving service to the message input string in pub.file:debugLog.

This should write your input to the server.log for you to view.

On the pub.client:http input, you need to make sure that you are mapping the flat file data into the following field:

/data/arg/NameOfInputVariableOfReceivingFlow

You should leave the encoding blank and not set it. Otherwise, Mike Zhou is correct. The setting that you have is more useful for the file polling port.

See if this helps.

Ray

Gopi

What version are you using. With 6 I guess there is a flat file handler bundled. Are you setting the content type correctly in the http service.

Thahir

ya iam using version 6 only. i also set the contentype to application/x-wmflatfile
i also tried directly setting the vslue of data/string to the flatfile text
but even then i dont know the way to receive it at the receiving end.

i have a converttovalues service thats it.
is there any thing that i have to do while sending the file or while receiving the file.

Hi Gopi

Correct me here. Why are we setting the content type to application/x-wmflatfile. Is it not the simple “text/plain” we want.

Thahir

it says in the guide that if we set the contenttype to application/x-wmflatfile then the contenthandler in the IS can recognise it as a flatfile and can pass it as a stream to the input method. this is what i think. i dont have the guide with me now so this is what i remember now.
do u have any other suggestion for this.

since it is not working for anything i couldnt figure aout what should be the contenttype. I also set it to application/EDI. but not working.
the http apart from the contentype in the header in the data while sending out it produces one more headers document in which the contenttype is text/html but i tried changing that too. but no result.
did u try what iam doing did it work for u.
correct me if iam wrong somewhere.

Gopi

I got confused with your second para.

“http apart from the contentype in the header in the data while sending out it produces one more headers document in which the contenttype is text/html but i tried changing that too”.

Could you explain that little more.

Also I wish to know how you are setting the content-type. Can you explain in detail like what you are doing, with exact variable name and proper inputs for http service.

I had seen this working before

Thahir

Gopi

You had mentioned before that you are getting Service error: 403.

This could be caused even if there is an error in the receiving service. I strongly feel that your flatfile schema could be the problem. Lets first rule this out.

In your calling service before calling http insert pub.flatFile:convertToValues service setting the correct schema and make sure that it is giving you the expected values.

If that goes thru successfully make sure that the receiving service has an input “ffdata” (case sensitive) of “object” type and it is mapped to the “ffData” of pub.flatFile:convertToValues service

Let us know if you need help

Thahir