CXFConfig.java
4.93 KB
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package com.bsth;
import com.bsth.server_rs.AuthorizeInterceptor_IN;
import com.bsth.server_rs.base_info.car.CarRestService;
import com.bsth.server_rs.base_info.line.LineRestService;
import com.bsth.server_rs.base_info.person.PersonRestService;
import com.bsth.server_rs.base_info.section.LD_RoadSpeedRestService;
import com.bsth.server_rs.base_info.section.LD_SectionRestService;
import com.bsth.server_rs.base_info.station.StationRestService;
import com.bsth.server_rs.directive.DirectiveRestService;
import com.bsth.server_rs.electric.ElectricService;
import com.bsth.server_rs.exception.AesExceptionMapper;
import com.bsth.server_rs.gps.GpsRestService;
import com.bsth.server_rs.logs.RealLogRestService;
import com.bsth.server_rs.schedule.plan.SchedulePlanService;
import com.bsth.server_rs.schedule.real.ScheduleRealService;
import com.bsth.server_ws.attendance.AttendanceServiceSoap;
import com.bsth.server_ws.electric_oil.OilServiceSoap;
import com.bsth.server_ws.park_station.CompanyServiceSoap;
import com.bsth.server_ws.waybill.LD_ServiceSoap;
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBus;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.transport.servlet.CXFServlet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import javax.xml.ws.Endpoint;
import java.util.Arrays;
/**
* Created by panzhao on 2017/3/9.
*/
@Configuration
public class CXFConfig {
@Bean(name = Bus.DEFAULT_BUS_ID)
public SpringBus springBus() {
return new SpringBus();
}
@Autowired
CompanyServiceSoap companyServiceSoap;
@Autowired
LD_ServiceSoap ld_serviceSoap;
@Autowired
AttendanceServiceSoap attendanceServiceSoap;
@Autowired
OilServiceSoap oilServiceSoap;
@Bean
public Endpoint companyEndpoint() {
EndpointImpl endpoint = new EndpointImpl(springBus(), companyServiceSoap);
endpoint.publish("/CompanyService");
//endpoint.getInInterceptors().add(new AuthInterceptor());
return endpoint;
}
@Bean
public Endpoint ldServiceEndpoint() {
EndpointImpl endpoint = new EndpointImpl(springBus(), ld_serviceSoap);
endpoint.publish("/LD_Service");
//endpoint.getInInterceptors().add(new AuthInterceptor());
return endpoint;
}
@Bean
public Endpoint attendanceServiceEndpoint() {
EndpointImpl endpoint = new EndpointImpl(springBus(), attendanceServiceSoap);
endpoint.publish("/attendanceService");
//endpoint.getInInterceptors().add(new AuthInterceptor());
return endpoint;
}
@Bean
public Endpoint electricServiceEndpoint() {
EndpointImpl endpoint = new EndpointImpl(springBus(), oilServiceSoap);
endpoint.publish("/oilServiceSoap");
//endpoint.getInInterceptors().add(new AuthInterceptor());
return endpoint;
}
@Autowired
ScheduleRealService scheduleRealService;
@Autowired
StationRestService stationRestService;
@Autowired
LD_SectionRestService ldSectionRestService;
@Autowired
SchedulePlanService schedulePlanService;
@Autowired
RealLogRestService realLogRestService;
@Autowired
GpsRestService gpsRestService;
@Autowired
DirectiveRestService directiveRestService;
@Autowired
LD_RoadSpeedRestService ld_roadSpeedRestService;
@Autowired
ElectricService electricService;
@Bean
public Server rsServer() {
JAXRSServerFactoryBean endpoint = new JAXRSServerFactoryBean();
endpoint.setBus(springBus());
endpoint.setAddress("/rest");
endpoint.setServiceBeans(Arrays.<Object>asList(
new LineRestService(),
new CarRestService(),
new PersonRestService(),
gpsRestService,
scheduleRealService,
stationRestService,
ldSectionRestService,
schedulePlanService,
realLogRestService,
directiveRestService,
ld_roadSpeedRestService,
electricService));
endpoint.setProviders(Arrays.asList(new JacksonJsonProvider(), new AesExceptionMapper()));
//endpoint.setFeatures(Arrays.asList(new Swagger2Feature()));
endpoint.getInInterceptors().add(new AuthorizeInterceptor_IN());
return endpoint.create();
}
@Bean
public ServletRegistrationBean servletRegistrationBean() {
ServletRegistrationBean bean = new ServletRegistrationBean(new CXFServlet(), "/webservice/*");
bean.setLoadOnStartup(0);
bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
return bean;
}
}