/// <summary> /// eBay Verify /// </summary> public eBayItemVerifyResult Verify(string _id, string ta_id) { eBayItemsData info = new eBayItemDac().View(Query.EQ("_id", ObjectId.Parse(_id))); VerifyItemRequest req = new VerifyItemRequest(); req.SiteID = info.site; req.EbayTokenID = new CommonBiz().GeteBayToken(info.ebay_acnt); if (info.itemno != null) req.InventoryID = Util.GetSafeString(info.itemno); JsonWriterSettings jset = new JsonWriterSettings(); jset.OutputMode = JsonOutputMode.JavaScript; req.EbayItemInfo = Util.EncodeUTF8To64(info.dynamicData.ToJson<eBayItemsDataForSeller>(jset)); // base64(json)로 데이터 생성 eBayItemVerifyResult result = new eBayItemVerifyResult(); VerifyItemResponse res = new VerifyItemResponse(); try { res = new ItemService(apiUrl).VerifyItem(req); if (res.Ack == AckType.Success) // Thrift 통신 성공 { if (res.Response.Ack == AckType.Success) // Verify 결과 { result.Success = true; result.Message = "Verify 성공하였습니다."; } else { result.Success = false; result.Message = ""; foreach (Dictionary<string, string> msg in res.Response.Messages) { foreach (string key in msg.Keys) { result.Message += "[" + key + "] " + msg[key] + "\n"; } } } } else { result.Success = false; result.Message = "Thrift 통신에 실패하였습니다."; } } catch (ThriftClientException tce) { result.Success = false; //result.Message = "알 수 없는 오류로 인하여 eBay 상품 Verify에 실패하였습니다."; result.Message = tce.Message; } catch (ThriftException te) { result.Success = false; //result.Message = "알 수 없는 오류로 인하여 eBay 상품 Verify에 실패하였습니다."; result.Message = te.ExceptionMessage; } catch (Exception ex) { result.Success = false; //result.Message = "알 수 없는 오류로 인하여 eBay 상품 Verify에 실패하였습니다."; result.Message = ex.Message; } // Verify 결과 저장 // 심민섭 수정 // 실패시 메세지 저장 string ver_code = result.Success == true ? "성공" : "실패"; new eBayItemDac().Save(Query.EQ("_id", ObjectId.Parse(_id)), Update.Set("ver_code", ver_code).Set("ver_message", result.Message)); return result; }
public void Read(TProtocol iprot) { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 0: if (field.Type == TType.Struct) { Success = new VerifyItemResponse(); Success.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 1: if (field.Type == TType.Struct) { Te = new CBT.GEP.Thrift.Common.ThriftException(); Te.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); }