diff --git a/README.md b/README.md
index 9fb6de8..7be982f 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@
 * Zookeeper registry center (√)
 * Tcp Transport
 * Serialize
-	* Hession serialize (√)
+	* Hessian serialize (√)
 	* Json serialize (√)
 * Erlang project as a consumer (√)
 * Erlang project as a provider (√)
diff --git a/config_example/sys.config b/config_example/sys.config
index 0d40be0..8e087a0 100644
--- a/config_example/sys.config
+++ b/config_example/sys.config
@@ -2,6 +2,7 @@
     {dubboerl,[
         {zookeeper_list,[{"127.0.0.1",2181}]},
         {application,<<"testdubboerl">>},
+        {protocol,hessian},
         {consumer,[
             {<<"com.ifcoder.demo.facade.User">>,[]}
         ]},
diff --git a/docs/protocol.md b/docs/protocol.md
index e69de29..0603dcf 100644
--- a/docs/protocol.md
+++ b/docs/protocol.md
@@ -0,0 +1,17 @@
+# Protocol Configurations
+
+The library now only supports hessian and json serialization.
+
+## Configuration example
+Protocol config is under the dubboerl application with sys.config
+```erlang
+{dubboerl,[
+	%% other config ...
+	{protocol,hessian}
+]}
+```
+ 
+| ConfigName | Type | DefaultValue | Remarks |
+| --- | --- | --- | --- |
+| protocol | atom() | hessian | hessian,json |
+ 
\ No newline at end of file
diff --git a/src/dubbo_codec.erl b/src/dubbo_codec.erl
index 388581b..2574b29 100644
--- a/src/dubbo_codec.erl
+++ b/src/dubbo_codec.erl
@@ -203,7 +203,7 @@
         ?SERIALIZATION_FASTJSON ->
             dubbo_serializa_fastjson:decode_response(Res,Data);
         ?SERIALIZATION_HESSIAN ->
-            dubbo_serializa_hession:decode_response(Res,Data)
+            dubbo_serializa_hessian:decode_response(Res,Data)
     end.
 
 %%decode_response(?SERIALIZATION_FASTJSON,dubbo_rpc_invocation,Res,Data)->
@@ -233,7 +233,7 @@
         ?SERIALIZATION_FASTJSON ->
             dubbo_serializa_fastjson:decode_request(Req,Data);
         ?SERIALIZATION_HESSIAN ->
-            dubbo_serializa_hession:decode_request(Req,Data)
+            dubbo_serializa_hessian:decode_request(Req,Data)
     end.
 
 %%decode_request(dubbo_rpc_invocation,Req,Data)->
diff --git a/src/dubbo_serializa_hession.erl b/src/dubbo_serializa_hessian.erl
similarity index 99%
rename from src/dubbo_serializa_hession.erl
rename to src/dubbo_serializa_hessian.erl
index 2481b9f..d3b5514 100644
--- a/src/dubbo_serializa_hession.erl
+++ b/src/dubbo_serializa_hessian.erl
@@ -6,7 +6,7 @@
 %%% @end
 %%% Created : 11. May 2018 4:12 PM
 %%%-------------------------------------------------------------------
--module(dubbo_serializa_hession).
+-module(dubbo_serializa_hessian).
 -author("dlive").
 
 -include("dubbo.hrl").
diff --git a/test/hession_encode_tests.erl b/test/hessian_encode_tests.erl
similarity index 97%
rename from test/hession_encode_tests.erl
rename to test/hessian_encode_tests.erl
index 9bd1ac1..fb14186 100644
--- a/test/hession_encode_tests.erl
+++ b/test/hessian_encode_tests.erl
@@ -6,7 +6,7 @@
 %%% @end
 %%% Created : 18. 十月 2016 上午10:46
 %%%-------------------------------------------------------------------
--module(hession_encode_tests).
+-module(hessian_encode_tests).
 -author("dlive").
 
 -include("hessian.hrl").
diff --git a/test/user.erl b/test/user.erl
index 5ff512b..0819fb6 100644
--- a/test/user.erl
+++ b/test/user.erl
@@ -66,14 +66,7 @@
             {<<"interface">> , ?CURRENT_CLASS_NAME}
         ]
     },
-    Request = #dubbo_request{
-        is_event = false,
-        is_twoway = true,
-        mid = dubbo_id_generator:gen_id(),
-        data = Data,
-        mversion= <<"0.0.0">>,
-        serialize_type = ?SERIALIZATION_HESSIAN
-    },
+    Request = dubbo_adapter:reference(Data),
     dubbo_invoker:invoke_request(?CURRENT_CLASS_NAME,Request,RequestOption).
 
 
@@ -102,14 +95,7 @@
             {<<"interface">> , ?CURRENT_CLASS_NAME}
         ]
     },
-    Request = #dubbo_request{
-        is_event = false,
-        is_twoway = true,
-        mid = dubbo_id_generator:gen_id(),
-        data = Data,
-        mversion= <<"0.0.0">>,
-        serialize_type = ?SERIALIZATION_HESSIAN
-    },
+    Request = dubbo_adapter:reference(Data),
     dubbo_invoker:invoke_request(?CURRENT_CLASS_NAME,Request,RequestOption).
 
 
@@ -140,14 +126,7 @@
             {<<"interface">> , ?CURRENT_CLASS_NAME}
         ]
     },
-    Request = #dubbo_request{
-        is_event = false,
-        is_twoway = true,
-        mid = dubbo_id_generator:gen_id(),
-        data = Data,
-        mversion= <<"0.0.0">>,
-        serialize_type = ?SERIALIZATION_HESSIAN
-    },
+    Request = dubbo_adapter:reference(Data),
     dubbo_invoker:invoke_request(?CURRENT_CLASS_NAME,Request,RequestOption).
 
 
@@ -178,13 +157,6 @@
             {<<"interface">> , ?CURRENT_CLASS_NAME}
         ]
     },
-    Request = #dubbo_request{
-        is_event = false,
-        is_twoway = true,
-        mid = dubbo_id_generator:gen_id(),
-        data = Data,
-        mversion= <<"0.0.0">>,
-        serialize_type = ?SERIALIZATION_HESSIAN
-    },
+    Request = dubbo_adapter:reference(Data),
     dubbo_invoker:invoke_request(?CURRENT_CLASS_NAME,Request,RequestOption).
 
