业务:订单信息的录入,修改订单信息,包括webservice的服务端编写,以及调用
接收方
服务端发布CxfWebServiceConfig类
package org.jeecg.modules.webservice.util;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBus;
import org.jeecg.modules.webservice.server.qdInfoWebService;
import org.jeecg.modules.webservice.server.qdInfoWebServiceImpl;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.xml.ws.Endpoint;
import org.apache.cxf.transport.servlet.CXFServlet;
/**
* 服务发布
*/
@Configuration
public class CxfWebServiceConfig {
/**
*
* */
@Bean("cxfServletRegistration")
public ServletRegistrationBean dispatcherServlet(){
return new ServletRegistrationBean(new CXFServlet(),"/ws/*");
}
/**
* 申明业务处理类 当然也可以直接 在实现类上标注 @Service
*/
@Bean
public qdInfoWebService userService() {
return new qdInfoWebServiceImpl();
}
/*
* 非必要项
*/
@Bean(name = Bus.DEFAULT_BUS_ID)
public SpringBus springBus() {
SpringBus springBus = new SpringBus();
return springBus;
}
/*
* update
*/
@Bean
public Endpoint endpoint() {
EndpointImpl endpoint = new EndpointImpl(springBus(), userService());
endpoint.publish("/updateQdInfoByGwid");//发布地址
return endpoint;
}
/*
* insert
*/
@Bean
public Endpoint endpoint2( ) {
EndpointImpl endpoint = new EndpointImpl(springBus(), userService());
endpoint.publish("/insertQdInfo");//发布地址
return endpoint;
}
}
qdInfoWebService接口
package org.jeecg.modules.webservice.server;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface qdInfoWebService {
@WebMethod
public String insertQdInfo(@WebParam(name = "param") String param);
@WebMethod
public String updateQdInfoByGwid(@WebParam(name = "param") String param);
}
qdInfoWebServiceImpl接口实现
package org.jeecg.modules.webservice.server;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.webservice.entity.QdTQdinfo;
import org.jeecg.modules.webservice.mapper.QdInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import javax.jws.WebMethod;
import javax.jws.WebService;
import java.util.Calendar;
import java.util.Date;
@Slf4j
@WebService(
name="testCXF",
targetNamespace="http://server.webservice.modules.jeecg.org/",
endpointInterface= "org.jeecg.modules.webservice.server.qdInfoWebService")
public class qdInfoWebServiceImpl implements qdInfoWebService {
@Autowired
private QdInfoMapper qdInfoMapper;
@Override
@WebMethod
public String insertQdInfo(String param) {
QdTQdinfo qdTQdinfo = JSONObject.parseObject(param,QdTQdinfo.class);
Date dd = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(dd);
calendar.set(Calendar.HOUR_OF_DAY, 0);//时
calendar.set(Calendar.MINUTE, 0);//分
calendar.set(Calendar.SECOND, 0);//秒
calendar.add(Calendar.DATE,6);
Date now = calendar.getTime();
qdTQdinfo.setId("");//主键
qdTQdinfo.setCreateBy("na");//创建人
qdTQdinfo.setCreateTime(dd);//创建时间
qdTQdinfo.setUpdateBy("");//修改人
qdTQdinfo.setUpdateTime(null);//修改日期
qdTQdinfo.setSysOrgCode("A01");//编号
qdTQdinfo.setStatus("抢单中");//状态
qdTQdinfo.setDateEnddate(now);//截止时间
//int i = qdInfoMapper.insertQdInfo(q);
int i = qdInfoMapper.insert(qdTQdinfo);
return i+"";
}
@Override
public String updateQdInfoByGwid(String param) {
QdTQdinfo qdTQdinfo = JSONObject.parseObject(param,QdTQdinfo.class);
int i = qdInfoMapper.updateQdInfoByGwid(qdTQdinfo);
int j = qdInfoMapper.updateQdUserByGwidandUserID(qdTQdinfo);
return i+";"+j;
}
}
文件目录结构
发送方之订单信息的录入
SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dd = new Date();
String nowTime = s.format(dd);
//insert操作
Qd d = new Qd();
d.setGwId("gwid123456789");
d.setProjectname("中国移动辽宁公司");
d.setApplicant("金常佳");
d.setDepartment("辽宁移动/信息技术中心/管理支撑室");
d.setApplytime(dd);
d.setProjectnumber("20200617");
d.setDemandtype("其他业务需求");
d.setApplytype("成本");
d.setFexpenses("成本");
d.setSigningmethod("非框架协议");
d.setNamount("493640");
d.setCess("6%");
d.setBudgetnumber("P311019120964");
d.setProjectmoney("493640");
d.setProjectmoneytax("523258.4");
d.setPolicydecision("");
d.setPurchasetype("服务类");
d.setConsulting("否");
d.setScene("否");
d.setIntroduce("商务应用不采用统一来源,选择否,若采用单一来源,则必须选择唯一场景,选择是");
d.setDepartmentleaders("王欣");
d.setReason("以资产管理系统唯系统联合自由运维人员对系统申告类型以及标准解决方案进行梳理,分类,形成系统申告知识库,加载志各类业务流程......");
d.setProgramme("1.梳理资产管理系统常见公告,根据涉及的流程进行归类处理,2.将现存申告处理手段迁移志系统前台,提高用户自处理能力");
d.setPurchasedescription("");
d.setPurchaseprocess("<a>查看阶段流程</a>");
d.setProjectprocess("<a>查看项目立项流程</a>");
d.setIsargumentation("是");
d.setArgumentationmembers("金碧瑶,吴秀春,消波");
d.setArgumentationendtime("");
d.setArgumentationtime("");
d.setBusinesstime(nowTime);
d.setBusiness("是");
d.setComefacturers("");
d.setRecommendedmanufacturers("");
String str = JSONObject.toJSONString(d);//将java对象转换为json对象
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("http://localhost:8080/jeecg-boot/ws/insertQdInfo?wsdl");
Object[] objects = new Object[0];
QName operationName = new QName("http://server.webservice.modules.jeecg.org/", "insertQdInfo");
try {
objects = client.invoke(operationName, str);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String strmsg = String.valueOf(objects[0]);
发送方之修改订单信息
//更新操作
Qd d = new Qd();
d.setGwId("gwid123456789");
d.setCgUserid("guoshuai");
d.setCgUsername("中国移动");
d.setGysInfo("中国移动");
d.setStatus("评估中");
String str = JSONObject.toJSONString(d);//将java对象转换为json对象
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("http://localhost:8080/jeecg-boot/ws/updateQdInfoByGwid?wsdl");
Object[] objects = new Object[0];
QName operationName = new QName("http://server.webservice.modules.jeecg.org/", "updateQdInfoByGwid");
try {
objects = client.invoke(operationName, str);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String strmsg = String.valueOf(objects[0]);
pom.xml
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.3.3</version>
</dependency>
需求:可以过,看具体的功能