JBoss Community Archive (Read Only)

SwitchYard

Message Tracing

Message tracing provides a view of the content and context of a message exchange on the SwitchYard bus by printing exchange information to the log. The trace is generated from an exchange interceptor which is triggered at the following points:

Trace Output

Trace output includes details on the metadata, context properties, payload, and attachments for a message exchange.  Here is an example of a trace entry:

12:48:25,038 INFO  [org.switchyard.handlers.MessageTraceHandler]
------- Begin Message Trace -------
Consumer -> {urn:switchyard-quickstart:bean-service:0.1.0}OrderService
Provider -> [unassigned]
Operation -> submitOrder
MEP -> IN_OUT
Phase -> IN
State -> OK
Exchange Context ->
	org.switchyard.bus.camel.consumer : ServiceReference [name={urn:switchyard-quickstart:bean-service:0.1.0}OrderService, interface=BaseServiceInterface [type=wsdl, operations=[submitOrder : IN_OUT : [{urn:switchyard-quickstart:bean-service:1.0}submitOrder, {urn:switchyard-quickstart:bean-service:1.0}submitOrderResponse, null]]], domain=ServiceDomain [name=org.switchyard.domains.root]]
	org.switchyard.exchangeGatewayName : _OrderService_soap_1
	org.switchyard.bus.camel.securityContext : SecurityContext[credentials=[ConfidentialityCredential [confidential=false]], securityDomainsToSubjects={}]
	org.switchyard.exchangeInitiatedNS : 1375980505021790000
	CamelCreatedTimestamp : Thu Aug 08 12:48:25 EDT 2013
	org.switchyard.bus.camel.phase : IN
	org.switchyard.bus.camel.dispatcher : org.switchyard.bus.camel.ExchangeDispatcher@b4aa453
	org.switchyard.bus.camel.labels : {org.switchyard.exchangeGatewayName=[org.switchyard.label.behavior.transient]}
	CamelToEndpoint : direct://%7Burn:switchyard-quickstart:bean-service:0.1.0%7DOrderService
	org.switchyard.bus.camel.contract : org.switchyard.metadata.BaseExchangeContract@2176feaf
	org.switchyard.bus.camel.replyHandler : org.switchyard.component.common.SynchronousInOutHandler@516a4aef
	CamelFilterMatched : false
Message Context ->
	org.switchyard.bus.camel.labels : {org.switchyard.contentType=[org.switchyard.label.behavior.transient], org.switchyard.bus.camel.messageSent=[org.switchyard.label.behavior.transient]}
	org.switchyard.messageId : ID-kookaburra-local-49858-1375980502093-0-1
	org.switchyard.bus.camel.messageSent : true
	org.switchyard.soap.messageName : submitOrder
	org.switchyard.contentType : {urn:switchyard-quickstart:bean-service:1.0}submitOrder
	breadcrumbId : ID-kookaburra-local-49858-1375980502093-0-1
Message Content ->
<?xml version="1.0" encoding="UTF-8"?><orders:submitOrder xmlns:orders="urn:switchyard-quickstart:bean-service:1.0">
			<order>
				<orderId>PO-19838-XYZ</orderId>
				<itemId>BUTTER</itemId>
				<quantity>200</quantity>
			</order>
		</orders:submitOrder>
------ End Message Trace -------

Enabling Message Tracing

Message tracing is enabled by setting the value of the "org.switchyard.handlers.messageTrace.enabled" property to true in your application domain.  Domain properties are set via entries in the <domain> section of switchyard.xml.  An easy shortcut to enabling tracing is to view the Domain tab of the visual application model in Eclipse and select the "Enable Message Trace" checkbox.

<domain>
   <properties>
      <property name="org.switchyard.handlers.messageTrace.enabled" value="true"/>
   </properties>
</domain>
JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-13 09:45:47 UTC, last content change 2013-08-08 20:44:47 UTC.