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 » Record Parsing on TCPIPClientRecieve Node 7.0.0.2

Post new topic  Reply to topic
 Record Parsing on TCPIPClientRecieve Node 7.0.0.2 « View previous topic :: View next topic » 
Author Message
gfrench
PostPosted: Fri Apr 08, 2011 5:12 am    Post subject: Record Parsing on TCPIPClientRecieve Node 7.0.0.2 Reply with quote

Acolyte

Joined: 10 Feb 2002
Posts: 71

Running v7.0.0.2 Broker and Toolkit and have a flow running with TCPIPClientOutput and TCPIPClientReceive nodes.

They talk to a server that has a clear text port or it can be switched to another port which runs SSL.

All works fine without SSL. When I switch to SSL I'm reliably informed by the server end that the session has been established correctly and that the SSL stuff is resolved. However I see an exception "The bit stream is smaller than expected for a Custom Wire Message of this message type" at the TCPIPClientReceive node.

If I switch the graphic debugger on I get a different exception, no data received, so I cant see what is coming in.

If I switch wireshark on I get encrypted data and cant see what is going on.

If I stick a trace node on output and the failure terminals of the TCPIPClientReceive node I only see the message I sent, not the screwed up data coming back from the server. I've tried changing the input message parsing on this node to BLOB so I can see what is coming back, but it fails saying I cant use BLOB with parsed record sequence.

I cant think of a way to see what is going on. Can I configure the TCPIPClientReceive node to just send the data it receives out as BLOB data so I can see it in the trace node.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
mqjeff
PostPosted: Fri Apr 08, 2011 5:44 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

You can't use BLOB with Parsed Record sequence because BLOB has no idea of what a 'record" is.

You can use it with Fixed Length, presuming you know how long your records are.

You should be able to see the bitstream that is trying to be parsed if you run a Service Trace of the flow. This should show what is being passed to MRM to be broken up.
Back to top
View user's profile Send private message
gfrench
PostPosted: Tue Apr 12, 2011 12:17 am    Post subject: Reply with quote

Acolyte

Joined: 10 Feb 2002
Posts: 71

I've run various versions of the service trace -b and -e options but do not seem to get the data passed to the MRM in the trace. Is there an environment variable I need to set to add the data tracing and is it on the component or execution group service trace?

It does however show a few things.

Firstly data being received
Code:

2011-04-11 11:43:39.774463     8148                        >>   UserTrace   BIP3563I: A record has been received from Hostname ''testsystem.abc.com'' on Port ''700'' in TCPIP receive node ''ReceiveResponse'' in message flow "CallTCPServer''.

Then I see a java SSL Exception "bad record MAC"
Code:

2011-04-11 11:43:39.775386     8148                        >> Connection.read(ByteBuffer,int) 'Starting SSL receive' , 'isInputShutdown false'
2011-04-11 11:43:39.775405     8148                        >> Connection.read(ByteBuffer,int) 'Read debug 0' , 'appSpillBB.position() 0 dst.remaining() 65536'
2011-04-11 11:43:39.775424     8148                        >> Connection.read(ByteBuffer,int) 'SSL debug 0' , ' netReadBB.limit() 131072 netReadBB.position() 0 netReadBB.remaining() 131072'
2011-04-11 11:43:39.775470     8148                        >> Connection.read(ByteBuffer,int) 'SSL debug 1' , 'lastAmountReadFromSocket 511 netReadBB.limit() 131072 netReadBB.position() 511 netReadBB.remaining() 130561'
2011-04-11 11:43:39.775489     8148                        >> Connection.read(ByteBuffer,int) 'SSL debug 2' , 'netReadBB.limit() 511 netReadBB.position() 0 netReadBB.remaining() 511'
2011-04-11 11:43:39.775508     8148                        >> Connection.read(ByteBuffer,int) 'SSL debug 2' , 'dst.limit() 65536 dst.position() 0 dst.remaining() 65536'
2011-04-11 11:43:39.776966     8148                        >> Connection.read(ByteBuffer,int) 'Caught throwable; rethrowing as IOException' , 'javax.net.ssl.SSLException: bad record MAC at com.ibm.jsse2.n.a(n.java:37) at com.ibm.jsse2.pc.a(pc.java:410) at com.ibm.jsse2.pc.a(pc.java:195) at com.ibm.jsse2.pc.b(pc.java:380) at com.ibm.jsse2.pc.a(pc.java:450) at com.ibm.jsse2.pc.unwrap(pc.java:392) at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:17) at com.ibm.broker.tcpip.Connection.read(Connection.java:506) at com.ibm.broker.tcpip.TCPIPInputStream.peekForData(TCPIPInputStream.java:218) at com.ibm.broker.tcpip.TCPIPInputStream.available(TCPIPInputStream.java:411) at com.ibm.broker.tcpip.TCPIPInputStreamFixed.available(TCPIPInputStreamFixed.java:97) at com.ibm.broker.plugin.MbInputStream.available(MbInputStream.java:168) at com.ibm.broker.plugin.MbInputSubStream.available(MbInputSubStream.java:203) at com.ibm.broker.plugin.MbInputStream.available(MbInputStream.java:168) '

Having googled a bit that seems to indicate an SSL problem, however the server end confirms the connection setup and my loging request which I send worked? Is this a miss communication from them, since I've also been testing without SSL on the different port.

And leading on from this, if it is an SSL problem then I assume the port would close and no data would be received by the TCPIPClientReceive node, so why do I see the subsequent parser errors 'bit stream is smaller than expected' error shortly after this.

I really appreciate the help received so far, and thanks to all.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Record Parsing on TCPIPClientRecieve Node 7.0.0.2
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.