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"); }
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"); }
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); }