lxzn-boot-base-core/pom.xml
@@ -140,6 +140,18 @@ <version>${java-jwt.version}</version> </dependency> <!-- CXF webservice --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>3.2.1</version> </dependency> <!--shiro--> <dependency> <groupId>org.apache.shiro</groupId> lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
@@ -98,7 +98,7 @@ filterChainDefinitionMap.put("/sys/getLoginQrcode/**", "anon"); //ç»å½äºç»´ç filterChainDefinitionMap.put("/sys/getQrcodeToken/**", "anon"); //ç嬿«ç filterChainDefinitionMap.put("/sys/checkAuth", "anon"); //æææ¥å£æé¤ filterChainDefinitionMap.put("/msi/**", "anon"); //éææ¥å£ filterChainDefinitionMap.put("/", "anon"); filterChainDefinitionMap.put("/doc.html", "anon"); lxzn-module-msi/src/main/java/org/jeecg/modules/msi/controller/MsiWebapiJsonController.java
ÎļþÒÑɾ³ý lxzn-module-msi/src/main/java/org/jeecg/modules/msi/mapper/MsiWebapiJsonMapper.java
ÎļþÒÑɾ³ý lxzn-module-msi/src/main/java/org/jeecg/modules/msi/service/IMsiWebapiJsonService.java
ÎļþÒÑɾ³ý lxzn-module-msi/src/main/java/org/jeecg/modules/msi/service/impl/MsiWebapiJsonServiceImpl.java
ÎļþÒÑɾ³ý lxzn-module-msi/src/main/java/org/jeecg/modules/msi/utils/JsonMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,56 @@ package org.jeecg.modules.msi.utils; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.util.JSONPObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; /** * json转æ¢. */ public class JsonMapper { /** logger. */ private static Logger logger = LoggerFactory.getLogger(JsonMapper.class); /** jackson. */ private ObjectMapper mapper; /** constructor. */ public JsonMapper() { mapper = new ObjectMapper(); mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); } public String toJson(Object object) throws IOException { return mapper.writeValueAsString(object); } public <T> T fromJson(String jsonString, Class<T> clazz) throws IOException { if ((jsonString == null) || "".equals(jsonString.trim())) { return null; } return mapper.readValue(jsonString, clazz); } /** * new TypeReference<List<String>>(){} */ public <T> T fromJson(String jsonString, TypeReference<T> typeReference) throws IOException { if ((jsonString == null) || "".equals(jsonString.trim())) { return null; } return (T) mapper.readValue(jsonString, typeReference); } public String toJsonP(String functionName, Object object) throws IOException { return toJson(new JSONPObject(functionName, object)); } } lxzn-module-msi/src/main/java/org/jeecg/modules/msi/utils/WebServiceUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,62 @@ package org.jeecg.modules.msi.utils; import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; public class WebServiceUtil { /** * 1.代ç类工åçæ¹å¼,éè¦æ¿å°å¯¹æ¹çæ¥å£å°å, åæ¶éè¦å¼å ¥æ¥å£ */ public static void invokeService_1(String address, Class<?> tClass){ // æ¥å£å°å //String address = "http://localhost:8080/services/ws/api?wsdl"; // 代çå·¥å JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean(); // 设置代çå°å jaxWsProxyFactoryBean.setAddress(address); // 设置æ¥å£ç±»å jaxWsProxyFactoryBean.setServiceClass(tClass); // å建ä¸ä¸ªä»£çæ¥å£å®ç° Object us = jaxWsProxyFactoryBean.create(); // æ°æ®åå¤ String data = "hello world"; // è°ç¨ä»£çæ¥å£çæ¹æ³è°ç¨å¹¶è¿åç»æ //String result = us.emrService(data); //System.out.println("è¿åç»æ:" + result); } /** * 3. 卿è°ç¨ */ public static String invokeService(String uri, String data, String method) { JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); Client client = dcf.createClient(uri); Object[] objects = new Object[0]; try { objects = client.invoke(method, data); } catch (Exception e) { e.printStackTrace(); } return String.valueOf(objects[0]); } /** * 2. 卿è°ç¨ */ public static String invokeServiceObJect(String uri,Object[] datas, String method) { JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); Client client = dcf.createClient(uri); Object[] objects = new Object[0]; try { objects = client.invoke(method, datas); } catch (Exception e) { e.printStackTrace(); } return String.valueOf(objects[0]); } } lxzn-module-msi/src/main/java/org/jeecg/modules/msi/webapi/controller/MsiWebapiJsonController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,56 @@ package org.jeecg.modules.msi.webapi.controller; import com.fasterxml.jackson.core.type.TypeReference; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import liquibase.pro.packaged.S; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.modules.msi.utils.JsonMapper; import org.jeecg.modules.msi.webapi.entity.MsiWebapiJsonEntity; import org.jeecg.modules.msi.webapi.service.IMsiWebapiJsonService; import org.jeecg.modules.msi.webapi.vo.MachineEquipentInfo; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.io.IOException; import java.util.List; @Slf4j @Api(tags = "èªå¨åçº¿æ°æ®") @RestController @RequestMapping("/msi/webapi") public class MsiWebapiJsonController extends JeecgController<MsiWebapiJsonEntity, IMsiWebapiJsonService> { @AutoLog(value = "èªå¨åçº¿æ°æ®æ¥æ¶") @ApiOperation(value = "èªå¨åçº¿æ°æ®æ¥æ¶ ", notes = "èªå¨åçº¿æ°æ®æ¥æ¶") @PostMapping(value = "/receiveAutomation") public void receiveSaveMsiWebApiJson(String data) { MsiWebapiJsonEntity entity = new MsiWebapiJsonEntity(); if (StringUtils.isBlank(data)) { return; } entity.setModuleType("MDC"); entity.setWebapiInfo(data); //åç»è¿è¡å ¶ä»ä¸å¡å ³è JsonMapper mapper = new JsonMapper(); try { List<MachineEquipentInfo> machineInfoList = mapper.fromJson(data, new TypeReference<List<MachineEquipentInfo>>(){}); for (MachineEquipentInfo machineInfo : machineInfoList) { System.out.println(machineInfo); // Add additional processing logic here for each item } } catch (IOException e) { log.error("JSON parsing error: {}", e.getMessage()); throw new RuntimeException("Invalid data format", e); } service.save(entity); } } lxzn-module-msi/src/main/java/org/jeecg/modules/msi/webapi/entity/MsiWebapiJsonEntity.java
ÎļþÃû´Ó lxzn-module-msi/src/main/java/org/jeecg/modules/msi/entity/MsiWebapiJsonEntity.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package org.jeecg.modules.msi.entity; package org.jeecg.modules.msi.webapi.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; lxzn-module-msi/src/main/java/org/jeecg/modules/msi/webapi/mapper/MsiWebapiJsonMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ package org.jeecg.modules.msi.webapi.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.jeecg.modules.msi.webapi.entity.MsiWebapiJsonEntity; public interface MsiWebapiJsonMapper extends BaseMapper<MsiWebapiJsonEntity> { } lxzn-module-msi/src/main/java/org/jeecg/modules/msi/webapi/mapper/xml/MsiWebapiJsonMapper.fxml
ÎļþÃû´Ó lxzn-module-msi/src/main/java/org/jeecg/modules/msi/mapper/xml/MsiWebapiJsonMapper.fxml ÐÞ¸Ä @@ -1,4 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.msi.mapper.MsiWebapiJsonMapper"> <mapper namespace="org.jeecg.modules.msi.webapi.mapper.MsiWebapiJsonMapper"> </mapper> lxzn-module-msi/src/main/java/org/jeecg/modules/msi/webapi/service/IMsiWebapiJsonService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ package org.jeecg.modules.msi.webapi.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.msi.webapi.entity.MsiWebapiJsonEntity; public interface IMsiWebapiJsonService extends IService<MsiWebapiJsonEntity> { } lxzn-module-msi/src/main/java/org/jeecg/modules/msi/webapi/service/impl/MsiWebapiJsonServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,11 @@ package org.jeecg.modules.msi.webapi.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.modules.msi.webapi.entity.MsiWebapiJsonEntity; import org.jeecg.modules.msi.webapi.mapper.MsiWebapiJsonMapper; import org.jeecg.modules.msi.webapi.service.IMsiWebapiJsonService; import org.springframework.stereotype.Service; @Service public class MsiWebapiJsonServiceImpl extends ServiceImpl<MsiWebapiJsonMapper, MsiWebapiJsonEntity> implements IMsiWebapiJsonService { } lxzn-module-msi/src/main/java/org/jeecg/modules/msi/webapi/vo/DetailedListVo.java
ÎļþÃû´Ó lxzn-module-msi/src/main/java/org/jeecg/modules/msi/vo/DetailedListVo.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package org.jeecg.modules.msi.vo; package org.jeecg.modules.msi.webapi.vo; import lombok.Data; lxzn-module-msi/src/main/java/org/jeecg/modules/msi/webapi/vo/MachineEquipentInfo.java
ÎļþÃû´Ó lxzn-module-msi/src/main/java/org/jeecg/modules/msi/vo/MachineEquipentInfo.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package org.jeecg.modules.msi.vo; package org.jeecg.modules.msi.webapi.vo; import lombok.Data; @@ -8,7 +8,7 @@ public class MachineEquipentInfo { private String machineNo; private String itemCount; private Integer itemCount; private String beginTime; private String endTime; private List<DetailedListVo> itemList; lxzn-module-msi/src/main/java/org/jeecg/modules/msi/webservice/service/MsiWebServiceServiceApi.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package org.jeecg.modules.msi.webservice.service; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebService; @WebService(name = "msiWebServiceApi", targetNamespace = "http://msi.lxzn.com") public interface MsiWebServiceServiceApi { /** * test æ¼ç¤º * @param data ä¼ å * @return */ @WebMethod String testData(@WebParam String data); } lxzn-module-msi/src/main/java/org/jeecg/modules/msi/webservice/service/impl/MsiWebServiceServiceApiImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,5 @@ package org.jeecg.modules.msi.webservice.service.impl; public class MsiWebServiceServiceApiImpl { }