package org.jeecg.modules.wms.controller;
|
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
|
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.modules.wms.dto.WSResponse;
|
import org.jeecg.modules.wms.request.*;
|
import org.jeecg.modules.wms.service.MESWebServiceSoap;
|
import org.jeecg.modules.wms.service.WMSWebServiceClient;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
import java.util.Map;
|
|
@Api(tags = "WMS集成测试")
|
@RestController
|
@RequestMapping("/wms/client")
|
@Slf4j
|
public class WMSTestController {
|
@Autowired
|
private WMSWebServiceClient webServiceClient;
|
|
private final static String localUrl = "http://localhost:9989/ebservice/ReceiveWMSScanItemList?wsdl";
|
|
|
@ApiOperation(value = "WMS集成测试-接收WMS移库结果", notes = "WMS集成测试-接收WMS移库结果")
|
@PostMapping("/testReceiveWMSScanItemList")
|
public Result<?> testReceiveWMSScanItemList(@RequestBody List<WMSWebServiceSendItem> list) {
|
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
|
factory.setAddress(localUrl);
|
factory.setServiceClass(MESWebServiceSoap.class);
|
MESWebServiceSoap service = (MESWebServiceSoap) factory.create();
|
ReceiveWMSScanItemList request = new ReceiveWMSScanItemList();
|
request.setWmsWebServiceSendItemList(list);
|
WSResponse response = service.receiveWMSScanItemList(request);
|
return Result.ok(response);
|
}
|
|
@ApiOperation(value = "WMS集成测试-HelloWord测试", notes = "WMS集成测试-HelloWord测试")
|
@PostMapping("/testHelloWorld")
|
public Result<?> testHelloWorld() {
|
// JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
|
// factory.setAddress(url);
|
// factory.setServiceClass(WebServiceSoap.class);
|
// WebServiceSoap service = (WebServiceSoap) factory.create();
|
// String response = service.helloWorld();
|
// return Result.ok(response);
|
// WebServiceSoap port = webService.getWebServiceSoap();
|
// 2. 获取 CXF 底层 Client 对象
|
// Client client = ClientProxy.getClient(port);
|
|
// 3. 获取 HTTPConduit 并设置超时
|
// HTTPConduit http = (HTTPConduit) client.getConduit();
|
// HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
|
//
|
// httpClientPolicy.setConnectionTimeout(10 * 1000); // 连接超时 10 秒
|
// httpClientPolicy.setReceiveTimeout(300 * 1000); // 读取超时 60 秒(重点!)
|
|
// http.setClient(httpClientPolicy);
|
Map<String, Object> stringObjectMap = webServiceClient.helloWorld();
|
return Result.ok(stringObjectMap);
|
|
}
|
|
@ApiOperation(value = "WMS集成测试-物料拉动", notes = "WMS集成测试-物料拉动")
|
@PostMapping("/receiveReservation")
|
public Result<?> receiveReservation(@RequestBody WebReservationOrder request) {
|
Map<String, Object> stringObjectMap = webServiceClient.receiveReservation(request);
|
return Result.ok(stringObjectMap);
|
|
}
|
|
@ApiOperation(value = "WMS集成测试-移库申请", notes = "WMS集成测试-移库申请")
|
@PostMapping("/receiveMESScanItemList")
|
public Result<?> receiveMESScanItemList(@RequestBody List<WebServiceSendItem> webServiceSendItem) {
|
ArrayOfWebServiceSendItem request = new ArrayOfWebServiceSendItem();
|
request.setWebServiceSendItem(webServiceSendItem);
|
Map<String, Object> stringObjectMap = webServiceClient.receiveMESScanItemList(request);
|
return Result.ok(stringObjectMap);
|
}
|
|
@ApiOperation(value = "WMS集成测试-移库申请撤销", notes = "WMS集成测试-移库申请撤销")
|
@PostMapping("/deliOrderDelete")
|
public Result<?> deliOrderDelete(@RequestParam String sFactoryCode, @RequestParam String sStockRecord) {
|
Map<String, Object> stringObjectMap = webServiceClient.deliOrderDelete(sFactoryCode, sStockRecord);
|
return Result.ok(stringObjectMap);
|
}
|
|
}
|