# 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