|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
TCPIP Client Out and Receive Wrong Old Response |
« View previous topic :: View next topic » |
Author |
Message
|
eammnsh |
Posted: Mon Aug 22, 2016 3:16 pm Post subject: TCPIP Client Out and Receive Wrong Old Response |
|
|
Apprentice
Joined: 22 Aug 2016 Posts: 29
|
I have implemented a message flow on IIB v9.0.0.2 which uses a TCPIP client output and receive nodes to implement a synchronous TPCIP service.
The service sequence is as follow:
1- [SOAPInput]
2- Check Connection with server side by sending a keep alive Message, also this part is triggered using a Timeout Node every specific time ( within the same message flow), and set a shared Boolean variable to true (connection is available)
3-Check the service availability on server side by sending a sign on message, and set a shared Boolean variable to true(service is available)
4- Send and Receive request/response message.
5-[SOAPReply]
Part 2,3, and 4 is using a subflow, which contains tcp client out output node, TCP client receive node 1( to receive the header and set the message length to be used by the 2nd tcp receive node), and a 2nd tcp client receive node 2.
The main issue i am facing now, is that I am getting old response on the client receive node and not the expected response for the current request. I have checked the server side and they are sending the correct response, so why am I receiving old or wrong responses? is there any configuration that I need to take care of?
Here is my TCP nodes properties:
-TCP Client Output Node:
Close Connection: After Timeout
Output stream: Reserve input and output stream then release at the end of flow.
Broadcast option: send to one connection.
-TCP Client receive node1:
Close Connection: No
Input stream modifications : leave unchanged
Output Stream modifications: leave unchanged.
-TCP Client receive ndoe2:
Close Connection: No
Input stream modifications : leave unchanged
Output Stream modifications: leave unchanged.
Regrading the properties in the request tab, I didnt change them, should I?
Thanks. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Aug 23, 2016 3:42 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Generally it's not recommended to check if a service is available before sending a message. Because in the time between finding out that the service is available and trying to use the service.... the service could become not available.
So you should skip all those steps and just call the service. If you get an error, then catch it and handle that however is needed.
If you are getting old messages - are you sure that you have actually gotten them already? Maybe they're coming back because you haven't already received them and processed them.
What particular protocol are you using, that you want to use a raw TCP/IP node, anyway? There may be an easier way - another built-in node, a class you could use from a JavaCompute node (or .NET or etc) or something else. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
eammnsh |
Posted: Thu Aug 25, 2016 9:31 am Post subject: |
|
|
Apprentice
Joined: 22 Aug 2016 Posts: 29
|
Thank you for your response.
Its an integration with a IST switch system, which communicate through TCPIP.
Is there any configuration on the IIB or OS level that I need to check? other than the TCPIP configurable service?
Actually I suspect the values in the configurable service:
CloseWithUnprocessedData: false
ExpireConnectionSec: -1
SO_KEEPALIVE: true
SO_LINGER: false
SO_LINGER_TIMEOUT_SEC: -1
SO_RCVBUF: 0
SO_SNDBUF: 0
TCP_NODELAY: false
TrafficClass: -1
UseUniqueConnectionPool: false
Is the above correct? or might cause reading the old responses on the stream. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|