diff --git a/dubbo-rpc-default/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboCodec.java b/dubbo-rpc-default/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboCodec.java index 87ce2796b94c12c9efd2623c9b79f17cacbbc661..76540b7f6b0bbbe9bd15cc3513812d36a3ca7c2d 100644 --- a/dubbo-rpc-default/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboCodec.java +++ b/dubbo-rpc-default/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboCodec.java @@ -171,6 +171,9 @@ public class DubboCodec extends ExchangeCodec implements Codec { try { if (channel != null && invocation != null) { String service = invocation.getAttachment(Constants.INTERFACE_KEY); + if (service == null || service.length() == 0) { + service = invocation.getAttachment(Constants.PATH_KEY); + } if (service != null && service.length() > 0) { Class cls = ReflectUtils.forName(service); Method method = cls.getMethod(invocation.getMethodName(), invocation.getParameterTypes());