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 » Sequence number in Connection details

Post new topic  Reply to topic
 Sequence number in Connection details « View previous topic :: View next topic » 
Author Message
PEPERO
PostPosted: Wed Oct 10, 2012 5:40 am    Post subject: Sequence number in Connection details Reply with quote

Disciple

Joined: 30 May 2011
Posts: 177

Hi all;
I've to send an initiation message to a socket server port, getting back the response and then send the final message and get back the reply to request using TCPIP client nodes. So we have a flow like this

Quote:

... => TCPIPCLIENTOUTPUT(node x1) => TCPIPCLIENTRECEIVE (node x2)=> TCPIPCLIENTOUTPUT (node x3)=> TCPIPCLIENTRECEIVE (node x4)=> ...


If i want to reserve both input and output streams within this partial flow , I've been confused in setting the ID location attribute of the Request tab.
is it true to set them as

Quote:
X1 : the defaults
X2 : $LocalEnvironment/WrittenDestination/TCPIP/ Output/ConnectionDetails[1]/Id
X3 : $LocalEnvironment/WrittenDestination/TCPIP/ Output/ConnectionDetails[2]/Id
X4 : $LocalEnvironment/WrittenDestination/TCPIP/ Output/ConnectionDetails[2]/Id


As i've read in the documents the ConnectionDetails sequence refers to the record number. So is it neccessary to set the ID location attribute of the X3.
I've removed it and set it as it's default value but since the outputstream was reserved, it sent the second message successfully without any new connection aquisition because i've seen the same connection id in the output local env as the X1.


Last edited by PEPERO on Wed Oct 10, 2012 5:45 am; edited 1 time in total
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Wed Oct 10, 2012 5:44 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

The correlator is the ReplyId. Just like the SOAP or HTTP nodes use the ReplyId.

See

http://publib.boulder.ibm.com/infocenter/wmbhelp/v8r0m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fac67310_.htm
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
McueMart
PostPosted: Wed Oct 10, 2012 6:13 am    Post subject: Reply with quote

Chevalier

Joined: 29 Nov 2011
Posts: 490
Location: UK...somewhere

If you want to reserve and reuse the same connection & input/output streams in the flow you described, it should be sufficient to just use

Code:
 $LocalEnvironment/WrittenDestination/TCPIP/ Output/ConnectionDetails/Id


As the location of the ConnectionId on the request tab for each of your x2,x3,x4 nodes.

As the infocenter says:

Quote:
Select Reserve output stream (for use by future TCPIP output nodes) to specify that this output stream can be used only by this node and by other output nodes that request it by specifying the connection ID. When the connection input stream is reserved, no other nodes can use it without specifying the correct connection ID
Back to top
View user's profile Send private message
PEPERO
PostPosted: Wed Oct 10, 2012 7:01 am    Post subject: Reply with quote

Disciple

Joined: 30 May 2011
Posts: 177

When i changed the X2,X3 and X4 ID location attributes in the request tab as you said, The X3 looks like waiting for the connection to be achived untile times out.
it seems the
Code:

 $LocalEnvironment/WrittenDestination/TCPIP/ Output/ConnectionDetails/Id


Is not a correct choice for X3.
Back to top
View user's profile Send private message
McueMart
PostPosted: Wed Oct 10, 2012 7:06 am    Post subject: Reply with quote

Chevalier

Joined: 29 Nov 2011
Posts: 490
Location: UK...somewhere

Is 'Close Connection: No' and 'Reserve Output/Input stream (for use by future TCPIP nodes)' selected for each of x1,x2,x3 and x4?
Back to top
View user's profile Send private message
PEPERO
PostPosted: Wed Oct 10, 2012 7:13 am    Post subject: Reply with quote

Disciple

Joined: 30 May 2011
Posts: 177

Close connection is "No" for all.
X1 has "Reserve input/output Stream then release at end flow"
X2 has "leave unchanged(input/output streams)"
X3 has "leave unchanged(input/output streams)"
X4 has "Release input/output stream"
Back to top
View user's profile Send private message
McueMart
PostPosted: Wed Oct 10, 2012 7:20 am    Post subject: Reply with quote

Chevalier

Joined: 29 Nov 2011
Posts: 490
Location: UK...somewhere

So what you have told me is if you set connectionId to $LocalEnvironment/WrittenDestination/TCPIP/ Output/ConnectionDetails/Id
for x3, its resulting in you seeing a timeout error in the broker. Can you post this error?

I would have expected this to occur in one of two situations:

1) Broker is incorrectly trying to instantiate a second connection to the serversocket, and the server isnt programmed to allow multiple connections.

2) Broker is correctly using the first connection, but the server program is not correctly programmed to read and reply to the data (i.e. the 2nd payload of data sent to it).
Back to top
View user's profile Send private message
PEPERO
PostPosted: Wed Oct 10, 2012 7:27 am    Post subject: Reply with quote

Disciple

Joined: 30 May 2011
Posts: 177

So sorry the problem was in my side. You were right. The port attribute of the X3 was set to an invalid value.
As my last question of this post , what does the index of the Connectiondetails do as i've seen using it in so many documents for accessing the reserved connection within the receive node.
I mean using the following Xpath expression within the receive node
Code:

$LocalEnvironment/WrittenDestination/TCPIP/ Output/ConnectionDetails[1]/Id
Back to top
View user's profile Send private message
McueMart
PostPosted: Wed Oct 10, 2012 7:34 am    Post subject: Reply with quote

Chevalier

Joined: 29 Nov 2011
Posts: 490
Location: UK...somewhere

Quote:
what does the index of the Connectiondetails do


To clarify, do you mean the '[1]' after the word ConnectionDetails? If so that just means to use the first ConnectionDetails entry in case there is a list of them (although why there would be a list of them in the LocalEnvironment i dont know...). I have never used an index for ConnectionDetails and only use:

Code:
$LocalEnvironment/WrittenDestination/TCPIP/Output/ConnectionDetails/Id


If your question means 'What is the purpose of the ConnectionDetails local environment variable?', its a unique identifier which broker assigns to a TCP connection when it is created. This allows it to be resused later in a flow by specifying the specific ID (as you are doing...).
Back to top
View user's profile Send private message
PEPERO
PostPosted: Wed Oct 10, 2012 7:40 am    Post subject: Reply with quote

Disciple

Joined: 30 May 2011
Posts: 177

Quote:

do you mean the '[1]' after the word ConnectionDetails?


Yes.

Ok. Thanks for all the helps.
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 » Sequence number in Connection details
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.