|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Record and Replay - No data in WMB_* tables |
« View previous topic :: View next topic » |
Author |
Message
|
ruimadaleno |
Posted: Thu Oct 01, 2015 7:55 am Post subject: Record and Replay - No data in WMB_* tables |
|
|
Master
Joined: 08 May 2014 Posts: 274
|
I have developed a simple service named "ServiceTestRecordReplay"
Soap Input -> compute node -> Soap Reply
the service accepts one string (S1) and returns another string in the form
"Hello this is the input string:' || S1
Example:
XMLIN
Quote: |
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://ServiceTestRecordReplay">
<soapenv:Header/>
<soapenv:Body>
<ser:getString>
<inData>anateste</inData>
</ser:getString>
</soapenv:Body>
</soapenv:Envelope>
|
XMLOUT
Quote: |
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<NS1:getStringResponse xmlns:NS1="http://ServiceTestRecordReplay">
<outData>Hello this is the input string:anateste</outData>
</NS1:getStringResponse>
</soapenv:Body>
</soapenv:Envelope>
|
I have configured Soap Input and soap reply nodes to emit events:
Soap Input
------------
Event Source = Out Terminal
Event Source address = <default value>
Event filter = <default value> true()
Data location = $Root/XMLNSC/tns:getString/inData
include bitstream data in payload = disabled
Correlation tab = <all fields - default value>
Soap Reply
------------
Event Source = Out Terminal
Event Source address = <default value>
Event filter = <default value> true()
Data location =$Root/XMLNSC/tns:getStringResponse/outData
include bitstream data in payload = disabled
Correlation tab = <all fields - default value>
message flow is deployed to broker, execution group eg_staging, monitoring is enabled
Quote: |
D:\IBM\MQSI\8.0.0.1>mqsichangeflowmonitoring brkdvesb01a -e eg_staging -k Servi
ceTestRecordReplay -f gen.ServiceTestRecordReplay -c active
BIP8071I: Successful command completion.
|
Using MQExplorer on Queue manager -> topics -> test subscriptions , i have subscribed the topic
$SYS/Broker/BRKDVESB01A/Monitoring/#
in this way i can capture all messages published by record and replay.
A request is sent to service, using soapUI and i am able to capture the following events:
Quote: |
Time: 16:24:38
Topic String: $SYS/Broker/BRKDVESB01A/Monitoring/eg_staging/gen.ServiceTestRecordReplay
Message:
<wmb:event xmlns:wmb="http://www.ibm.com/xmlns/prod/websphere/messagebroker/6.1.0/monitoring/event">
<wmb:eventPointData>
<wmb:eventData wmb:productVersion="8005" wmb:eventSchemaVersion="6.1.0.3" wmb:eventSourceAddress="SOAP Input.terminal.out">
<wmb:eventIdentity wmb:eventName="SOAP Input.OutTerminal"/>
<wmb:eventSequence wmb:creationTime="2015-10-01T15:24:28.108999Z" wmb:counter="1"/>
<wmb:eventCorrelation wmb:localTransactionId="5456c997-b11d-4b82-ad4b-b9c6cae9885a-1" wmb:parentTransactionId="" wmb:globalTransactionId=""/>
</wmb:eventData>
<wmb:messageFlowData>
<wmb:broker wmb:name="BRKDVESB01A" wmb:UUID="404b595e-5491-4df7-91b7-0a5b0de76e95"/>
<wmb:executionGroup wmb:name="eg_staging" wmb:UUID="e89e4fcb-4801-0000-0080-950858977adc"/>
<wmb:messageFlow wmb:uniqueFlowName="BRKDVESB01A.eg_staging.gen.ServiceTestRecordReplay" wmb:name="gen.ServiceTestRecordReplay" wmb:UUID="8f4c9123-5001-0000-0080-8d40bd42f84b" wmb:threadId="12376"/>
<wmb:node wmb:nodeLabel="SOAP Input" wmb:nodeType="ComIbmSOAPInputNode" wmb:terminal="out"/>
</wmb:messageFlowData>
</wmb:eventPointData>
<wmb:applicationData xmlns="">
<wmb:simpleContent wmb:name="inData" wmb:value="anateste" wmb:dataType="string"/>
</wmb:applicationData>
</wmb:event>
|
and the second one:
Quote: |
Time: 16:24:38
Topic String: $SYS/Broker/BRKDVESB01A/Monitoring/eg_staging/gen.ServiceTestRecordReplay
Message:
<wmb:event xmlns:wmb="http://www.ibm.com/xmlns/prod/websphere/messagebroker/6.1.0/monitoring/event">
<wmb:eventPointData>
<wmb:eventData wmb:productVersion="8005" wmb:eventSchemaVersion="6.1.0.3" wmb:eventSourceAddress="SOAP Reply.terminal.in">
<wmb:eventIdentity wmb:eventName="SOAP Reply.InTerminal"/>
<wmb:eventSequence wmb:creationTime="2015-10-01T15:24:28.110001Z" wmb:counter="2"/>
<wmb:eventCorrelation wmb:localTransactionId="5456c997-b11d-4b82-ad4b-b9c6cae9885a-1" wmb:parentTransactionId="" wmb:globalTransactionId=""/>
</wmb:eventData>
<wmb:messageFlowData>
<wmb:broker wmb:name="BRKDVESB01A" wmb:UUID="404b595e-5491-4df7-91b7-0a5b0de76e95"/>
<wmb:executionGroup wmb:name="eg_staging" wmb:UUID="e89e4fcb-4801-0000-0080-950858977adc"/>
<wmb:messageFlow wmb:uniqueFlowName="BRKDVESB01A.eg_staging.gen.ServiceTestRecordReplay" wmb:name="gen.ServiceTestRecordReplay" wmb:UUID="8f4c9123-5001-0000-0080-8d40bd42f84b" wmb:threadId="12376"/>
<wmb:node wmb:nodeLabel="SOAP Reply" wmb:nodeType="ComIbmSOAPReplyNode" wmb:terminal="in"/>
</wmb:messageFlowData>
</wmb:eventPointData>
<wmb:applicationData xmlns="">
<wmb:simpleContent wmb:name="outData" wmb:value="Hello this is the input string:anateste" wmb:dataType="string"/>
</wmb:applicationData>
</wmb:event>
|
as i was expecting , two events captured with the correct info in <ApplicationData>
Then i've run a query in the WMB_*
Quote: |
SELECT
b.data,
a.msgflow_name,
A.EVENT_TIMESTAMP,
A.LOCAL_TRANSACTION_ID,
A.EVENT_TYPE,
A.NODE_NAME,
A.HAS_BITSTREAM,
A.HAS_EXCEPTION,
A.HAS_USERDATA
from MBRECORD.WMB_MSGS a,
mbrecord.wmb_binary_data b
WHERE A.WMB_MSGKEY = B.WMB_MSGKEY (+)
and broker_name = 'BRKDVESB01A'
AND MSGFLOW_NAME = 'gen.ServiceTestRecordReplay'
AND event_timestamp > TO_CHAR (TRUNC (SYSDATE) , 'yyyy-mm-dd hh24:mi:ss')
ORDER BY event_timestamp desc
|
The query returns two rows for each evocation of the service, as expected, but the data from event ( $Root/XMLNSC/tns:getStringResponse/outData or $Root/XMLNSC/tns:getString/inData ) is not recorded in database.
Quote: |
DATA|MSGFLOW_NAME|EVENT_TIMESTAMP|LOCAL_TRANSACTION_ID|EVENT_TYPE|NODE_NAME|HAS_BITSTREAM|HAS_EXCEPTION|HAS_USERDATA
<empty blob>|'gen.ServiceTestRecordReplay'|'2015-10-01 15:21:24.465'|'7a62daa8-31ce-47db-9c1b-acae87e67b47-1'|'SOAP Reply.InTerminal'|'SOAP Reply'|'N'|'N'|'N'|
<empty blob>|'gen.ServiceTestRecordReplay'|'2015-10-01 15:21:24.464'|'7a62daa8-31ce-47db-9c1b-acae87e67b47-1'|'SOAP Input.OutTerminal'|'SOAP Input'|'N'|'N'|'N'|
|
So, i expect the monitoring data from soap input and soap reply nodes to be recorded in the record and replay/monitoring tables, but this is not the behaviour i get
is this behaviour by design ? a bug ? time to PMR ?
my environment
WebSphere Message Broker 8.0.0.5 running on windows 2008 r2
Record and Replay tables are stored in an oracle database _________________ Best regards
Rui Madaleno |
|
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
|
|
|
|