# axis1Server **Repository Path**: xnimaoschina/axis1Server ## Basic Information - **Project Name**: axis1Server - **Description**: 基于Axis1搭建的服务端 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-11-29 - **Last Updated**: 2022-11-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Server搭建 基于Axis1搭建的服务端 ## 1、Maven导包 ```xml org.apache.axis axis 1.4 axis axis-jaxrpc 1.4 axis axis-wsdl4j 1.5.1 commons-discovery commons-discovery 0.2 javax.mail mail 1.4 ``` ## 2、在web.xml中配置axis监听器 ```xml AxisServlet org.apache.axis.transport.http.AxisServlet AxisServlet /v1/* ``` ## 3、创建前置接收请求的类 ```Java @Slf4j public class Dispatcher { // 简单类型调用 public String sum(String num1, String num2) { log.info("参数1:[{}]", num1); log.info("参数2:[{}]", num2); return Integer.parseInt(num1) + Integer.parseInt(num2) + ""; } // 复杂类型调用 public CommonDTO acceptInfo(CommonDTO commonDTO) { log.info(JSON.toJSONString(commonDTO, true)); commonDTO.setServerFlag(true); return commonDTO; } } ``` ## 4、创建对象传参的DTO(server和client共用) ```Java @Data public class CommonDTO { private String company; private Integer type; private List managerList; private Boolean serverFlag; // 是否为服务端 } ``` ## 5、创建配置文件server-config.wsdd ```xml ``` ## 6、启动服务 1. url规则:`http://ip:port/contextPath/url-pattern/serviceName?wsdl` 2. 打开:`http://127.0.0.1:8080/axisServer/v1/call?wsdl` 可以看到xml页面即为成功。 ## 说明 1. 前置接收请求的类每次调用都会通过反射实例化一次。 2. 使用对象传参,在反序列化时给对象设置属性值是通过拼接set方法来实现,要求set方法无返回值,不要使用lombok的@Accessors注解。 3. 代码地址: * github:https://github.com/senlinmu1008/axis1Server * gitee:https://gitee.com/ppbin/axis1Server