Ce contenu n'est pas disponible dans la langue sélectionnée.

Chapter 20. Debugging


20.1. Message Tracing

Message tracing provides a view of the content and context of a message exchange on the SwitchYard bus. Message tracing prints exchange information to the log. An exchange interceptor that generates the trace, is triggered at the following points:
  • Immediately after the consumer sends the request message. For example, In the case of a service which is invoked from a service binding, this is the point at which the gateway binding puts the message onto the bus.
  • Immediately before the service provider is invoked.
  • Immediately after the service provider is invoked.
  • At completion of the exchange before the message is returned to the consumer.

20.1.1. Trace Output Example

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 -------

20.1.2. Enabling Message Tracing

You can enable message tracing within JBoss Developer Studio.
  • When using the SwitchYard visual editor to view the switchyard.xml file, select the Domain tab to view the Domain Settings, then select the Enable Message Trace check box.
This sets the value of the org.switchyard.handlers.messageTrace.enabled property to true in your application domain. This is captured by the <sy:domain> element in the switchyard.xml source file.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.