diff --git a/skywalking-sdk-plugin/httpclient-plugin/src/main/java/com/ai/cloud/skywalking/plugin/httpclient/trace/HttpClientTracing.java b/skywalking-sdk-plugin/httpclient-plugin/src/main/java/com/ai/cloud/skywalking/plugin/httpclient/trace/HttpClientTracing.java index d3e0619dc..3336374a6 100644 --- a/skywalking-sdk-plugin/httpclient-plugin/src/main/java/com/ai/cloud/skywalking/plugin/httpclient/trace/HttpClientTracing.java +++ b/skywalking-sdk-plugin/httpclient-plugin/src/main/java/com/ai/cloud/skywalking/plugin/httpclient/trace/HttpClientTracing.java @@ -13,7 +13,7 @@ public class HttpClientTracing { public static R execute(String url, String traceHearName, HttpRequest httpRequest, Executor executor) throws IOException { try { httpRequest.setHeader(traceHearName, - sender.beforeSend(Identification.newBuilder() + "ContextData=" + sender.beforeSend(Identification.newBuilder() .viewPoint(url) .spanType('W') .build()) diff --git a/skywalking-sdk-plugin/web-plugin/src/main/java/com/ai/cloud/skywalking/plugin/web/SkyWalkingFilter.java b/skywalking-sdk-plugin/web-plugin/src/main/java/com/ai/cloud/skywalking/plugin/web/SkyWalkingFilter.java index 1f247a2a9..274ea0d39 100644 --- a/skywalking-sdk-plugin/web-plugin/src/main/java/com/ai/cloud/skywalking/plugin/web/SkyWalkingFilter.java +++ b/skywalking-sdk-plugin/web-plugin/src/main/java/com/ai/cloud/skywalking/plugin/web/SkyWalkingFilter.java @@ -11,6 +11,7 @@ import java.io.IOException; public class SkyWalkingFilter implements Filter { + private final String secondKey = "ContextData"; private String tracingName; private static final String DEFAULT_TRACE_NAME = "SkyWalking-TRACING-NAME"; @@ -25,7 +26,15 @@ public class SkyWalkingFilter implements Filter { RPCBuriedPointReceiver receiver = null; try { HttpServletRequest request = (HttpServletRequest) servletRequest; - String contextDataStr = request.getHeader(tracingName); + String tracingHeaderValue = request.getHeader(tracingName); + String contextDataStr = null; + int index = tracingHeaderValue.indexOf("="); + if (index > 0) { + String key = tracingHeaderValue.substring(0, index); + if (secondKey.equals(key)) { + contextDataStr = tracingHeaderValue.substring(index + 1); + } + } ContextData contextData = null; if (contextDataStr != null && contextDataStr.length() > 0) { contextData = new ContextData(contextDataStr);