Answer by Christian S. ·
hi Christian,
first of all a little background about SOAP message tagging:
Dynatrace AppMon does not tag SOAP messages, but the transport layer underneath. this means that Dynatrace can tag SOAP messages that are sent via HTTP - which is the most common scenario - and other supported protocols, but not over non-supported protocols (e.g. proprietary TCP communication).
for easier understanding I'll create an example SOAP/HTTP message:
POST /soap/question HTTP/1.1 Host: answers.dynatrace.com Content-Type: text/xml; charset="utf-8" SOAPAction="http://answers.dynatrace.com/soap/question" X-dynaTrace: FW1;1121751920;2030659734;607725;2;2030659734;607724;3 <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dt="http://answers.dynatrace.com/soap/"> <soap:Body> <dt:Question> Can we please get an example of a message, that is being sent from a SOAP Gateway client via http to an IMS SOAP Gateway, of course containing an X-dynaTrace tag? </dt:Question> </soap:Body> </soap:Envelope>
so you can see the Dynatrace tag as a HTTP header before the SOAP message starts in the HTTP request body.
HTH, Christian
Answer by Christian S. ·
hi Jürg,
just a little more background information about (not) SOAP tagging: we thought about that in the past, but due to several reasons we decided against it:
hope this helps understanding our decision making, Christian
Answer by Christian S. ·
Hello Juerg,
The Dynatrace collector / server knows which SOAP Gateway agent set a particular tag, so the tag doesn’t need to be universally unique, it just needs to be unique within a single SOAP gateway process. As per IBM the IBM tracking ID is unique within a single SOAP gateway.
So multiple SGW agents can connect to one Collector.
We do not change the SOAP header, because that could affect the application, which we want to avoid for obvious reasons.
Best regards, Christian
Answer by Jürg S. ·
Ok so tracking Id must be unique over all SOAP Gateways connected to the same collector. To guarantee that we need one collector per SGW !
What's happen if the collector doesn't get this info fast enough ?
In general this technic is not a very sophisticated. Smarter would be to insert the tag into the SOAP Header.
This way the tag would be sent to IMS automatically ! :-)
Answer by Christian S. ·
Hello Jürg,
the X-dynaTrace tag is inserted by a Dynatrace agent in the JXJ tier before going via SOA Backplane into IMS SOAP Gateway. The X-dynaTrace tag is not going through to IMS, as it is dropped by SOAP Gateway. Therefore we need an agent there to be able to correlate the distributed transaction with the IMS transaction. The SOAP Gateway agent sends the X-dynaTrace tag and the IBM tracking ID via the Dynatrace Collector to the Dynatrace Server. This information can then be used to correlate the distributed transaction with the IMS transaction.
Hope this helps.
Best regards, Christian
Answer by Jürg S. ·
Hi Chris,
Ok so far. So the tag will be inserted on the client side. But who will do this injection ? Is that a dynatrace agent called by the client ? And the agent for the Soap Gateway will not be involved at all for this tagging. Correct ?
JANUARY 15, 3:00 PM GMT / 10:00 AM ET