ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » TCPIP Client Out and Receive Wrong Old Response

Post new topic  Reply to topic
 TCPIP Client Out and Receive Wrong Old Response « View previous topic :: View next topic » 
Author Message
eammnsh
PostPosted: Mon Aug 22, 2016 3:16 pm    Post subject: TCPIP Client Out and Receive Wrong Old Response Reply with quote

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
View user's profile Send private message
mqjeff
PostPosted: Tue Aug 23, 2016 3:42 am    Post subject: Reply with quote

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
View user's profile Send private message
eammnsh
PostPosted: Thu Aug 25, 2016 9:31 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » TCPIP Client Out and Receive Wrong Old Response
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.