Reading nice post and WSTE from Hermann on rawTCP processing
It looks like it should be possible implementing MLLP protocol (TCP/IP stream where requests are separated by some delimiter like CRLF and payload is delimited text) using this technique ?
Where rawTCP2HTTP MPGW would convert TCP/IP stream to HTTP? How would it understand delimiters between requests to put them to appropriate HTTP POST?
Anybody have tried implement it or have experience please?
HermannSW 2700006U547081 Posts
Re: rawTCP processing for MLLP2013-01-13T00:08:10ZThis is the accepted answer. This is the accepted answer.Hi Elena
> Where rawTCP2HTTP MPGW would convert TCP/IP stream to HTTP?
> How would it understand delimiters between requests to put them to appropriate HTTP POST?
I just heard into the audio recording for slides 16+17 of this WSTE webcast (43:00-47:30min):
Unfortunately I did not talk about what is written on top right of slide 17.
This solution does not provide persistent connections, because connection close (FIN) is needed to signal end of message.
Therefore ER MR 1022084642 is still needed, and without it you cannot handle the seperators, sorry.
In case your client does not send a FIN, that can be simulated by a Frontside Handler timeout.
Unfortunately timeout values are integers with minimal value of 1.
So after 1 second of inactivity on the frontside (without CPU usage), the frontside timeout triggers and processing starts as needed.
lenisha 120000J40822 Posts
Re: rawTCP processing for MLLP2013-01-14T14:34:54ZThis is the accepted answer. This is the accepted answer.
- HermannSW 2700006U54
Do you know by chance the status of ER MR1022084642?
I see that MLLP clients usually have two modes of operation - persistent connection (reusing socket), and one socket per request.
Interesting if the second sceanrio - socket per request would work?
It would probably send FIN only after receiving response from the server....
HermannSW 2700006U547081 Posts
Re: rawTCP processing for MLLP2013-01-15T13:01:59ZThis is the accepted answer. This is the accepted answer.
- lenisha 120000J408
I tried to search for it in Request For Enhancement tool, but without success:
Do you mean this MLLP?
> - socket per request would work?
> It would probably send FIN only after receiving response from the server....
Sending FIN after having received response is too late -- processing will not start without connection close.
But besides FIN connection close also happens for timeouts.
As I said having a FSH timeout of 1 second would work.
After having received the request, DataPower would wait.
Then, after 1 second, the connection from Client to DataPower will be closed because of the timeout.
Important is that the connection from DataPower to Client for sending the response will remain open.
Now "normal HTTP Non-XML processing" will happen, and the rawTCP response will be sent back to client.
Slide 17 of this webcast shows a sample execution.
If you attach a Non-XML rawTCP sample request and describe a sample transformation, I can try to attach a service doing that (socket per request).