diff --git a/protocol/dubbo/impl/codec.go b/protocol/dubbo/impl/codec.go
index cf90ea7f44a1057ab8eee5c5403fa6c6c6996aa8..17e7b57b45f2334e06b757ee07e3a9ef034c920a 100644
--- a/protocol/dubbo/impl/codec.go
+++ b/protocol/dubbo/impl/codec.go
@@ -168,11 +168,7 @@ func (c *ProtocolCodec) Decode(p *DubboPackage) error {
 		if err != nil {
 			return perrors.WithStack(err)
 		}
-		rsp, ok := p.Body.(*ResponsePayload)
-		if !ok {
-			return perrors.Errorf("java exception:%s", exception.(string))
-		}
-		rsp.Exception = perrors.Errorf("java exception:%s", exception.(string))
+		p.Body.(*ResponsePayload).Exception = perrors.Errorf("java exception:%s", exception.(string))
 		return nil
 	} else if p.IsHeartBeat() {
 		// heartbeat no need to unmarshal contents