private SofaRequest buildRequest(String methodName, Object[] args, Class clazz) throws NoSuchMethodException {
        SofaRequest request = new SofaRequest();
        request.setInterfaceName(clazz.getName());
        request.setMethodName(methodName);
        Method method = null;
        for (Method m : clazz.getMethods()) {
            if (m.getName().equals(methodName)) {
                method = m;
            }
        }
        request.setMethod(method);
        request.setMethodArgs(args);
        List<String> argSigs = new ArrayList<String>();
        for (Object req : args) {
            argSigs.add(req.getClass().getName());
        }
        request.setMethodArgSigs(argSigs.toArray(new String[argSigs.size()]));
        request.setTargetServiceUniqueName(clazz.getName() + ":1.0");
        request.setTargetAppName("targetApp");
        request.setSerializeType((byte) 12);
        request.setTimeout(1024);
        request.setInvokeType(RpcConstants.INVOKER_TYPE_SYNC);
        Map<String, String> map = new HashMap<String, String>();
        map.put("a", "xxx");
        map.put("b", "yyy");
        request.addRequestProp(RemotingConstants.RPC_TRACE_NAME, map);
        request.setSofaResponseCallback(new SofaResponseCallback() {
            @Override
            public void onAppResponse(Object appResponse, String methodName, RequestBase request) {

            }

            @Override
            public void onAppException(Throwable throwable, String methodName, RequestBase request) {

            }

            @Override
            public void onSofaException(SofaRpcException sofaException, String methodName, RequestBase request) {

            }
        });
        return request;
    }
@author <a href="mailto:zhanggeng.zg@antfin.com">GengZhang</a>
codec/codec-jackson/src/test/java/com/alipay/sofa/rpc/codec/jackson/JacksonSerializerTest.java