예제 #1
0
        public void Execute()
        {
            int len32_1, len32_2, len128_1, len128_2;

            //CreateParams a proto message.
            OmsMessage omsMessage = new OmsMessage();

            omsMessage.message_type    = OmsMessage.MessageType.MSG_TYPE_CONFIRMATION;
            omsMessage.application_id  = "application_id";
            omsMessage.symbol          = "symbol";
            omsMessage.initial_qty     = "initial_qty";
            omsMessage.limit_price     = "limit_price";
            omsMessage.last_fill_qty   = "last_fill_qty";
            omsMessage.last_fill_price = "last_fill_price";
            omsMessage.trader_id       = "trader_hid";

            MemoryStream textStream = new MemoryStream();

            ProtoBuf.Serializer.SerializeWithLengthPrefix <OmsMessage>(textStream,
                                                                       omsMessage, ProtoBuf.PrefixStyle.Fixed32);

            textStream.Position = 0;
            Assert.True(ProtoBuf.Serializer.TryReadLengthPrefix(textStream.GetBuffer(), 0, 5, ProtoBuf.PrefixStyle.Fixed32, out len32_1), "len32 - buffer");
            Assert.True(ProtoBuf.Serializer.TryReadLengthPrefix(textStream, ProtoBuf.PrefixStyle.Fixed32, out len32_2), "len32 - stream");

            textStream = new MemoryStream();

            ProtoBuf.Serializer.SerializeWithLengthPrefix <OmsMessage>(textStream,
                                                                       omsMessage, ProtoBuf.PrefixStyle.Base128, 0);

            textStream.Position = 0;
            Assert.True(ProtoBuf.Serializer.TryReadLengthPrefix(textStream.GetBuffer(), 0, 5, ProtoBuf.PrefixStyle.Base128, out len128_1)); //, "len128 - buffer");
            Assert.True(ProtoBuf.Serializer.TryReadLengthPrefix(textStream, ProtoBuf.PrefixStyle.Base128, out len128_2));                   //, "len128 - stream");


            Assert.Equal(len32_1, len32_2);   //, "len32 - stream vs buffer");
            Assert.Equal(len128_1, len128_2); //, "len128 - stream vs buffer");
            Assert.Equal(len128_1, len32_1);  //, "len32 vs len128");
        }
예제 #2
0
       public void Execute()
       {
           int len32_1, len32_2, len128_1, len128_2;

           //CreateParams a proto message.
           OmsMessage omsMessage = new OmsMessage();

           omsMessage.message_type = OmsMessage.MessageType.MSG_TYPE_CONFIRMATION;
           omsMessage.application_id = "application_id";
           omsMessage.symbol = "symbol";
           omsMessage.initial_qty = "initial_qty";
           omsMessage.limit_price = "limit_price";
           omsMessage.last_fill_qty = "last_fill_qty";
           omsMessage.last_fill_price = "last_fill_price";
           omsMessage.trader_id = "trader_hid";

           MemoryStream textStream = new MemoryStream();

           ProtoBuf.Serializer.SerializeWithLengthPrefix<OmsMessage>(textStream,
                omsMessage, ProtoBuf.PrefixStyle.Fixed32);

           textStream.Position = 0;
           Assert.IsTrue(ProtoBuf.Serializer.TryReadLengthPrefix(textStream.GetBuffer(), 0, 5, ProtoBuf.PrefixStyle.Fixed32, out len32_1), "len32 - buffer");
           Assert.IsTrue(ProtoBuf.Serializer.TryReadLengthPrefix(textStream, ProtoBuf.PrefixStyle.Fixed32, out len32_2), "len32 - stream");

           textStream = new MemoryStream();

           ProtoBuf.Serializer.SerializeWithLengthPrefix<OmsMessage>(textStream,
omsMessage, ProtoBuf.PrefixStyle.Base128,0);

           textStream.Position = 0;
           Assert.IsTrue(ProtoBuf.Serializer.TryReadLengthPrefix(textStream.GetBuffer(), 0, 5, ProtoBuf.PrefixStyle.Base128, out len128_1), "len128 - buffer");
           Assert.IsTrue(ProtoBuf.Serializer.TryReadLengthPrefix(textStream, ProtoBuf.PrefixStyle.Base128, out len128_2), "len128 - stream");
           

           Assert.AreEqual(len32_1, len32_2, "len32 - stream vs buffer");
           Assert.AreEqual(len128_1, len128_2, "len128 - stream vs buffer");
           Assert.AreEqual(len128_1, len32_1, "len32 vs len128");
       }
예제 #3
0
        public void test()
        {
            var order = new BDCBMsgOrder();

            order.OrderHead = new BDCBOrderHead()
            {
                orderNo             = "132285599606544605",
                orderType           = "I",
                billmode            = "2",
                assureCode          = "340126067U",
                ebpCode             = "340126067U",
                ebpName             = "合肥贝果供应链管理有限公司",
                ebcCode             = "340126067U",
                ebcName             = "合肥贝果供应链管理有限公司",
                goodsValue          = 80,
                freight             = 20,
                discount            = 0,
                taxTotal            = 0,
                acturalPaid         = 100,
                currency            = "142",
                buyerRegNo          = "13863981314",
                buyerName           = "付军",
                buyerIdType         = "1",
                buyerIdNumber       = "370126198004030073",
                payCode             = "312228034T",
                payName             = "通联支付网络服务股份有限公司",
                payTrCsactionId     = "0001234567",
                batchNumbers        = "",
                quantity            = 1,
                senderusername      = "******",
                senderuserprov      = "山东省",
                senderusercity      = "青岛市",
                senderuserdistrict  = "李沧区",
                senderuseraddress   = "黑龙江路147号湖山美地4.2期",
                senderusertelephone = "13969777534",
                senderusercountry   = "中国",
                consignee           = "刘晓鹏",
                consigneeTelephone  = "13370883245",
                consigneeprov       = "山东省",
                consigneecity       = "济南市",
                consigneedistrict   = "商河县",
                consigneeAddress    = "玉皇庙镇商业街",
                consigneecountry    = "中国",
                note = "请尽快发货"
            };

            order.OrderList = new List <BDCBOrderList>();
            order.OrderList.Add(new BDCBOrderList()
            {
                ciqbarcode     = "2106909090",
                itemNo         = "20001002",
                itemName       = "测试商品",
                specifications = "20",
                itemDescribe   = "",
                barCode        = "200010020011",
                unit           = "142",
                qty            = 1,
                unit1          = "035",
                qty1           = 0.02m,
                price          = 80,
                totalPrice     = 80,
                weight         = 0.3m,
                netweight      = 0.02m,
                currency       = "142",
                country        = "303",
                note           = "",
            });

            string orderStr  = JsonConvert.SerializeObject(order);
            string checkcode = AppUtil.StringMD5Base64Value(orderStr + "test_94776e14654ac5d5d58a773193a95af9e42");

            var msg = new OmsMessage()
            {
                CompanyCode = "HFBG", Data = orderStr, MsgType = "Order", CheckCode = checkcode
            };

            var msgstr = JsonConvert.SerializeObject(msg);

            string url    = "http://ceb.bondex.com.cn:8831/Crossborder/Api/CebServices/SendBDCBMsg";
            var    result = HttpUtil.CreatePostResponse(url, msgstr, Encoding.UTF8);

            Console.WriteLine(result);
        }