|
|
@@ -2,6 +2,9 @@ package com.uas.eis;
|
|
|
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
+import com.fasterxml.jackson.databind.PropertyName;
|
|
|
+import com.fasterxml.jackson.databind.introspect.AnnotatedClass;
|
|
|
+import com.fasterxml.jackson.dataformat.xml.JacksonXmlAnnotationIntrospector;
|
|
|
import com.sun.xml.internal.bind.v2.util.XmlFactory;
|
|
|
import com.uas.eis.config.VwmsConfig;
|
|
|
import com.uas.eis.dao.*;
|
|
|
@@ -31,8 +34,8 @@ public class UasEisApplicationTests {
|
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
// @Autowired
|
|
|
// private BaseDao baseDao;
|
|
|
- @Autowired
|
|
|
- private ObjectMapper objectMapper; // 注入Jackson的ObjectMapper
|
|
|
+// @Autowired
|
|
|
+// private ObjectMapper objectMapper; // 注入Jackson的ObjectMapper
|
|
|
@Autowired
|
|
|
private ERPService erpService;
|
|
|
@Autowired
|
|
|
@@ -43,7 +46,7 @@ public class UasEisApplicationTests {
|
|
|
List<ProductReq> prodList = new ArrayList<>();
|
|
|
// 创建BaseReq对象
|
|
|
BaseItemsReq<ProductReq> prodBaseItemsReq = new BaseItemsReq();
|
|
|
- prodBaseItemsReq.setActionType("add");
|
|
|
+ prodBaseItemsReq.setActionType("update");
|
|
|
prodBaseItemsReq.setWarehouseCode(vwmsConfig.getWarehouseCode());
|
|
|
prodBaseItemsReq.setOwnerCode(vwmsConfig.getOwnerCode());
|
|
|
prodBaseItemsReq.setOutBizCode("sendProd-"+System.currentTimeMillis());
|
|
|
@@ -64,26 +67,47 @@ public class UasEisApplicationTests {
|
|
|
}})
|
|
|
.build();
|
|
|
prodList.add(productReq);
|
|
|
+ ProductReq productReq2 = new ProductReq.Builder()
|
|
|
+ .itemId("TESTXML2")
|
|
|
+ .itemCode("TESTXML2")
|
|
|
+ .barCode("TESTXML2")
|
|
|
+ .itemName("TESTXML2")
|
|
|
+ .goodsCode("TESTXML2")
|
|
|
+ .brandName("TESTXML2")
|
|
|
+ .categoryName("TESTXML2")
|
|
|
+ .stockUnit("")
|
|
|
+ .ExtendProps(new ProductReq.ExtendProps() {{
|
|
|
+ setKey1("1000.0");
|
|
|
+ }})
|
|
|
+ .build();
|
|
|
+ prodList.add(productReq2);
|
|
|
prodBaseItems.setItem(prodList);
|
|
|
prodBaseItemsReq.setItems(prodBaseItems);
|
|
|
// 创建RequestWrapper对象
|
|
|
- BaseReq<BaseItemsReq<ProductReq>> prodBaseReq = new BaseReq();
|
|
|
- prodBaseReq.setRequest(prodBaseItemsReq);
|
|
|
+// BaseReq<BaseItemsReq<ProductReq>> prodBaseReq = new BaseReq();
|
|
|
+// prodBaseReq.setRequest(prodBaseItemsReq);
|
|
|
try {
|
|
|
// 将prodBaseReq对象转换为XML字符串
|
|
|
// 创建XmlMapper实例
|
|
|
XmlMapper xmlMapper = new XmlMapper();
|
|
|
- String xml = xmlMapper.writeValueAsString(prodBaseReq);
|
|
|
+ // 配置XML根元素名称为 "request"
|
|
|
+// xmlMapper.setAnnotationIntrospector(new JacksonXmlAnnotationIntrospector() {
|
|
|
+// @Override
|
|
|
+// public PropertyName findRootName(AnnotatedClass ac) {
|
|
|
+// return PropertyName.construct("request", null);
|
|
|
+// }
|
|
|
+// });
|
|
|
+ String xml = xmlMapper.writeValueAsString(prodBaseItemsReq);
|
|
|
logger.info("Request XML: {}", xml);
|
|
|
-
|
|
|
// 使用postXml方法发送请求
|
|
|
- byte[] responseBytes = HttpUtil.postXmlToVWMS("openapi.items.synchronize",xml, "UTF-8",vwmsConfig);
|
|
|
- String responseText = new String(responseBytes, "UTF-8");
|
|
|
+// byte[] responseBytes = HttpUtil.postXmlToVWMS("openapi.items.synchronize",xml, "UTF-8",vwmsConfig);
|
|
|
+// String responseText = new String(responseBytes, "UTF-8");
|
|
|
+ String responseText="<?xml version=\"1.0\" encoding=\"utf-8\"?><response><flag>success</flag><code>201</code><message>openapi.items.synchronize successfully</message></response>";
|
|
|
System.out.println("responseText:"+responseText);
|
|
|
// 处理响应
|
|
|
- if(responseBytes != null) {
|
|
|
+// if(responseBytes != null) {
|
|
|
// 解析XML响应
|
|
|
- BaseVastResp baseVastResp = objectMapper.readValue(responseText, BaseVastResp.class);
|
|
|
+ BaseVastResp baseVastResp = xmlMapper.readValue(responseText, BaseVastResp.class);
|
|
|
BaseVastResp.Response baseVastRespResponse= baseVastResp.getResponse();
|
|
|
if(baseVastRespResponse!=null){
|
|
|
//默认成功
|
|
|
@@ -100,7 +124,7 @@ public class UasEisApplicationTests {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+// }
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|