新火炬后端单体项目初始化代码
zhangherong
4 天以前 b40cfc1d6bc01ae70883671074b8d26f83fc90d1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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.endpoint.Client;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.apache.cxf.transport.http.HTTPConduit;
import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.wms.WMSWebService;
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.WebServiceSoap;
import org.springframework.beans.factory.annotation.Autowired;
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;
 
@Api(tags = "WMS集成测试")
@RestController
@RequestMapping("/wms/client")
@Slf4j
public class WMSTestController {
    @Value("${webservice.url}")
    private String url;
    @Autowired
    private WMSWebService webService;
 
 
    @ApiOperation(value = "WMS集成测试-接收WMS移库结果", notes = "WMS集成测试-接收WMS移库结果")
    @PostMapping("/testReceiveWMSScanItemList")
    public Result<?> testReceiveWMSScanItemList() {
        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);
        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);
        String result = port.helloWorld();
        return Result.ok(result);
 
    }
}