第一步:将 webservice 接口的文件获取下来
图一
图二
从而获取到了相关文件
第二步:将 url 放到配置文件中
wspmis.endpoint=http://xxxx:80/ormrpc/services/WSPMISWebServiceFacade?wsdl
第三步:写好配置类
package com.cmft.gurp.da.basic.config.webservice;
import com.cmft.gurp.da.service.PropertyWSDL.WSPMISWebServiceFacadeSoapBindingStub;
import com.cmft.gurp.da.service.PropertyWSDL.WSPMISWebServiceFacadeSrvProxyServiceLocator;
import com.cmft.gurp.da.service.easanalysis.EASLoginProxyServiceLocator;
import com.cmft.gurp.da.service.easanalysis.EASLoginSoapBindingStub;
import com.cmft.gurp.da.service.impl.benchmarkinganalysis.JIUQIFinanceServiceLocator;
import com.cmft.gurp.da.service.impl.benchmarkinganalysis.JIUQIFinanceServiceSoapBindingStub;
import org.apache.axis.AxisFault;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import java.net.URL;
@Configuration
public class WebServiceConfig {
@Value("${wspmis.endpoint}")
private String wspmisEndpoint;
@Bean
public WSPMISWebServiceFacadeSrvProxyServiceLocator getWSPMISWebServiceFacadeSrvProxyServiceLocator() throws ServiceException {
WSPMISWebServiceFacadeSrvProxyServiceLocator locator = new WSPMISWebServiceFacadeSrvProxyServiceLocator();
locator.setEndpointAddress("WSPMISWebServiceFacade",wspmisEndpoint);
return locator;
}
@Bean
public WSPMISWebServiceFacadeSoapBindingStub getWSPMISWebServiceFacadeSoapBindingStub() throws MalformedURLException, ServiceException, AxisFault {
WSPMISWebServiceFacadeSoapBindingStub bindingStub = new WSPMISWebServiceFacadeSoapBindingStub(new URL(wspmisEndpoint),getWSPMISWebServiceFacadeSrvProxyServiceLocator());
return bindingStub;
}
}
最后,使用
package com.cmft.gurp.da.service.impl.propertyanalysis;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.cmft.gurp.da.entity.benchmarkinganalysis.ResponseBody;
import com.cmft.gurp.da.entity.propertyanalysis.PCompanyInfo;
import com.cmft.gurp.da.mapper.property.CompanyListMapper;
import com.cmft.gurp.da.service.PropertyWSDL.WSPMISWebServiceFacadeSoapBindingStub;
import com.cmft.gurp.da.service.propertyanalysis.CompanyDataAccessService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.xml.rpc.ServiceException;
import java.rmi.RemoteException;
import java.util.List;
import java.util.Map;
@Service
@Slf4j
public class CompanyServiceImpl{
@Autowired
private WSPMISWebServiceFacadeSoapBindingStub benchmarkingStub;
@Autowired
private CompanyListMapper companyListMapper;
private int getCompany(int size, int begin, int end,String queryTime,String startTime) {
JSONObject inParam = new JSONObject();
inParam.put("查询关键字","");
inParam.put("用户编码","");
inParam.put("时间点",queryTime);
inParam.put("开始条目",begin);
inParam.put("结束条目",end);
try {
String result = benchmarkingStub.getCompany(JSON.toJSONString(inParam),v);
if (result.contains("数据为空") || result.isEmpty()){
log.info("benchmarkingStub.getCompany返回的数据为空");
return size;
}
ResponseBody<Map<String, String>> responseBody = JSON.parseObject(result, new TypeReference<ResponseBody<Map<String, String>>>() {
});
if (responseBody == null || responseBody.getData().isEmpty()) {
log.warn("入参:"+JSON.toJSONString(inParam)+"-->The return value of benchmarkingStub.getCompanyList() is null!");
}else {
List<Map<String, String>> companyLists = responseBody.getData();
size = companyLists.size();
for (Map<String, String> companyList : companyLists) {
}
}
} catch (Exception e) {
log.info("异常->传入参数为:" + JSON.toJSONString(inParam) + "异常->" ,e);
}
return size;
}
}