新火炬后端单体项目初始化代码
Houjie
4 天以前 14943f4a30e027dcf8956272192666524a851eff
src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java
@@ -5,43 +5,88 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.wms.dto.ReceiveMESScanItemListResponse;
import org.jeecg.modules.wms.request.ReceiveMESScanItemList;
import org.jeecg.modules.wms.service.ReceiveWMSScanItemListService;
import org.jeecg.modules.wms.service.WMSWebService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
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 {
    @Value("${webservice.url}")
    private String url;
    @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() {
    public Result<?> testReceiveWMSScanItemList(@RequestBody List<WMSWebServiceSendItem> list) {
        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
        factory.setAddress(url);
        factory.setServiceClass(ReceiveWMSScanItemListService.class);
        ReceiveWMSScanItemListService service = (ReceiveWMSScanItemListService) factory.create();
        ReceiveMESScanItemList request = new ReceiveMESScanItemList();
        ReceiveMESScanItemListResponse response = service.receiveWMSScanItemList(request);
        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(WMSWebService.class);
        WMSWebService service = (WMSWebService) factory.create();
        String response = service.helloWorld();
        return Result.ok(response);
//        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);
    }
}