|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
How to send response back using TCP/IP Server Output node |
« View previous topic :: View next topic » |
Author |
Message
|
sasad |
Posted: Fri May 23, 2014 5:48 am Post subject: How to send response back using TCP/IP Server Output node |
|
|
Acolyte
Joined: 30 Apr 2014 Posts: 67
|
Hi all,
Flow 1:
TCPIP Srvr Input -> Do something -> MQ1
Flow 2:
MQ2 -> TCPIP Srvr Output
I have a scenario in which Client ( it is basically Java Util for now) will send message to TCP/IP Server. Then write that message to MQ. I have successfully implemeted this part.
Now I have another Util which will fetch msg from MQ1 and write it back to MQ2 after processing. This part is also working.
Then I need to fetch processed message from MQ2 and send it back to the Client who initiated the request. For that I tried using TCP/IP Srvr Output node, but I am getting exception. |
|
Back to top |
|
 |
Vitor |
Posted: Fri May 23, 2014 6:27 am Post subject: Re: How to send response back using TCP/IP Server Output nod |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sasad wrote: |
I am getting exception. |
What exception? "Cheese Out Of Range"? "Insufficient Pixie Dust In Server"?
What version of WMB/IIB are you using?
What steps have you currently taken to troubleshoot apart from this cryptic posting?
What steps have you taken in Flow 2 to identify the initiating client apart from putting an output node at the end of the flow and assuming it will automagically work out what you mean?
(Which does require a large and constant supply of pixie dust, so you could have a resource problem) _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
sasad |
Posted: Fri May 23, 2014 6:54 am Post subject: |
|
|
Acolyte
Joined: 30 Apr 2014 Posts: 67
|
Really sorry the way I posted my query. Firstly I have changed my Flow as below
TCPIP Srv Inpt -> MQ Output -> MQ Get -> TCPIP Srv Output
I am working on IIB ver 9. Re-phrasing my scenario, Client sends message to socket where our IIB node (TCP/IP Srv Inpt) is listening. Then I write msg to output queue Q1. My MQ Get node is listening to another Queue Q2. I have another application which fetches message from Q1 process it and write to Q2. then MQ Get fetches that message and pass it to Srver Output node.
It is throwing below exception when TCP/IP Server Output node is trying to sendData
ExceptionList
RecoverableException
File:CHARACTER:F:\build\slot1\S900_P\src\DataFlowEngine\MessageServices\ImbDataFlowNode.cpp
Line:INTEGER:1153
Function:CHARACTER:ImbDataFlowNode::createExceptionList
Type:CHARACTER:ComIbmTCPIPServerInputNode
Name:CHARACTER:CRMMsgFlow#FCMComposite_1_5
Label:CHARACTER:CRMMsgFlow.TCPIP Server Input
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Node throwing exception
Insert
Type:INTEGER:14
Text:CHARACTER:CRMMsgFlow.TCPIP Server Input
RecoverableException
File:CHARACTER:F:\build\slot1\S900_P\src\DataFlowEngine\TemplateNodes\ImbOutputTemplateNode.cpp
Line:INTEGER:326
Function:CHARACTER:ImbOutputTemplateNode::processMessageAssemblyToFailure
Type:CHARACTER:ComIbmTCPIPServerOutputNode
Name:CHARACTER:CRMMsgFlow#FCMComposite_1_4
Label:CHARACTER:CRMMsgFlow.TCPIP Server Output1
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Caught exception and rethrowing
Insert
Type:INTEGER:14
Text:CHARACTER:CRMMsgFlow.TCPIP Server Output1
RecoverableException
File:CHARACTER:MbErrorHandler.java
Line:INTEGER:121
Function:CHARACTER:calculateDynamicProperties
Type:CHARACTER:
Name:CHARACTER:
Label:CHARACTER:
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:3587
Text:CHARACTER:no connections available acquired
Insert
Type:INTEGER:5
Text:CHARACTER:localhost
Insert
Type:INTEGER:5
Text:CHARACTER:7777 |
|
Back to top |
|
 |
McueMart |
Posted: Fri May 23, 2014 7:33 am Post subject: |
|
|
 Chevalier
Joined: 29 Nov 2011 Posts: 490 Location: UK...somewhere
|
What setting do you have configured on your TCP Server input/output nodes on the Advanced tab?
Stick a trace node before the TCP Server output node and trace
${LocalEnvironment} and check it still has the connection ID in it. |
|
Back to top |
|
 |
sasad |
Posted: Fri May 23, 2014 8:20 am Post subject: |
|
|
Acolyte
Joined: 30 Apr 2014 Posts: 67
|
TCPIP Server Input - Advanced
Close Connection : No
Input Stream Modification : Leave Unchanged
Output Stream Modification : Leave Unchanged
TCPIP Server Output - Advanced
Close Connection : No
Input Stream Modification : Leave Unchanged
Output Stream Modification : Leave Unchanged
Broad Options
Send to: One Connection
I checked before TCPIP Server Output Node, All values were available
LocalEnvironment
TCPIP
Input
ConnectionDetails
Type:CHARACTER:Server
Hostname:CHARACTER:localhost
Port:INTEGER:7777
Id:CHARACTER:0c4b5b:14629669813:-7ffa
ReplyId:UNKNOWN:null
OpenTimestamp:TIMESTAMP:java.util.GregorianCalendar[time=1400861828343,areFieldsSet=true,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Karachi",offset=18000000,dstSavings=0,useDaylight=false,transitions=12,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=?,YEAR=2014,MONTH=4,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=23,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=17,SECOND=8,MILLISECOND=343,ZONE_OFFSET=?,DST_OFFSET=?]
CloseTimestamp:UNKNOWN:null
SequenceNumber
InputRecord:INTEGER:1
OutputRecord:INTEGER:0
ClientDetails
Hostname:CHARACTER:127.0.0.1
Address:CHARACTER:127.0.0.1
WrittenDestination
MQ
DestinationData
queueName:CHARACTER:TCPIP.TASK18.OUT1
queueManagerName:CHARACTER:IIB9QMGR2
replyIdentifier:BLOB:[B@e0dda853
msgId:BLOB:[B@70443448
correlId:BLOB:[B@6bcb74ea
GroupId:BLOB:[B@391d0b53 |
|
Back to top |
|
 |
Vitor |
Posted: Fri May 23, 2014 9:22 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sasad wrote: |
Firstly I have changed my Flow as below
TCPIP Srv Inpt -> MQ Output -> MQ Get -> TCPIP Srv Output
|
This will seriously reduce the amount of pixie dust needed by the output node
sasad wrote: |
I am working on IIB ver 9. Re-phrasing my scenario, Client sends message to socket where our IIB node (TCP/IP Srv Inpt) is listening. Then I write msg to output queue Q1. My MQ Get node is listening to another Queue Q2. I have another application which fetches message from Q1 process it and write to Q2. then MQ Get fetches that message and pass it to Srver Output node. |
Very nice description.
sasad wrote: |
It is throwing below exception when TCP/IP Server Output node is trying to sendData |
How much time does this flow (including the response via WMQ of this other application) take to execute? What is the wait time of the TCP/IP client which sent the original request? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
McueMart |
Posted: Fri May 23, 2014 10:35 am Post subject: |
|
|
 Chevalier
Joined: 29 Nov 2011 Posts: 490 Location: UK...somewhere
|
How is your Java client app coded? Hopefully you are leaving the socket open after you have sent the request right?
This error looks like the kind of thing you could get if the client closed the connection after sending the request message (Although I would have expected an error along the lines of 'connection closed') |
|
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
|
|
|
|