151 lines
2.8 KiB
Markdown
151 lines
2.8 KiB
Markdown
# ADXP SOAP Mock Server 使用说明
|
||
|
||
## 概述
|
||
|
||
`mock_adxp_soap.py` 是数据中台的 SOAP WebService 模拟服务器,用于本地开发测试 SDK 集成。
|
||
|
||
## 安装依赖
|
||
|
||
```bash
|
||
cd tools
|
||
pip3 install -r requirements-soap.txt
|
||
```
|
||
|
||
或直接安装:
|
||
```bash
|
||
pip3 install spyne lxml
|
||
```
|
||
|
||
## 启动服务器
|
||
|
||
### 基本启动
|
||
```bash
|
||
python3 mock_adxp_soap.py
|
||
```
|
||
|
||
### 启用自动推送(每10秒生成一批样例消息)
|
||
```bash
|
||
python3 mock_adxp_soap.py --auto --interval 10
|
||
```
|
||
|
||
### 自定义地址和端口
|
||
```bash
|
||
python3 mock_adxp_soap.py --host 0.0.0.0 --port 8086 --auto
|
||
```
|
||
|
||
## 接口说明
|
||
|
||
### WSDL 地址
|
||
```
|
||
http://localhost:8086/adxp?wsdl
|
||
```
|
||
|
||
### SOAP 操作
|
||
|
||
#### 1. login(username, password)
|
||
用户登录
|
||
|
||
**测试账号:**
|
||
- 用户名: `dianxin`
|
||
- 密码: `dianxin@123`
|
||
|
||
**返回:**
|
||
```xml
|
||
<LoginResult>
|
||
<success>true</success>
|
||
<code>200</code>
|
||
<message>登录成功</message>
|
||
</LoginResult>
|
||
```
|
||
|
||
#### 2. receiveMessage()
|
||
接收消息队列中的所有消息(接收后清空)
|
||
|
||
**返回:**
|
||
```xml
|
||
<MessageResult>
|
||
<messageList>
|
||
<msg>
|
||
<serviceCode>ADXP_NAOMS_O_DYN_ARR</serviceCode>
|
||
<actionCode>UPDATE</actionCode>
|
||
</msg>
|
||
</messageList>
|
||
<messageStringList>
|
||
<item><?xml version="1.0"?>...</item>
|
||
</messageStringList>
|
||
</MessageResult>
|
||
```
|
||
|
||
## 自动推送消息
|
||
|
||
启用 `--auto` 后,服务器每隔指定秒数自动生成以下样例消息:
|
||
|
||
1. **MU5123 到达** (ARR + RUNWAY + CRAFTSEAT)
|
||
- 降落时间: 实时
|
||
- 跑道: 35L
|
||
- 机位: 138
|
||
|
||
2. **CA1234 离港** (AXOT + RUNWAY + CRAFTSEAT)
|
||
- 撤轮挡时间: 实时
|
||
- 跑道: 17
|
||
- 机位: 201
|
||
|
||
## 配置后端应用
|
||
|
||
确保 `application-dev.yml` 中配置正确:
|
||
|
||
```yaml
|
||
data:
|
||
collector:
|
||
adxp-adapter:
|
||
host: localhost
|
||
port: 8086
|
||
username: dianxin
|
||
password: dianxin@123
|
||
reconnect-delay-millis: 3000
|
||
```
|
||
|
||
或通过环境变量:
|
||
```bash
|
||
export ADXP_SDK_ENABLED=true
|
||
export ADXP_SDK_HOST=localhost
|
||
export ADXP_SDK_PORT=8086
|
||
```
|
||
|
||
## 测试流程
|
||
|
||
1. **启动 SOAP mock 服务器:**
|
||
```bash
|
||
cd tools
|
||
python3 mock_adxp_soap.py --auto --interval 10
|
||
```
|
||
|
||
2. **启动后端应用:**
|
||
```bash
|
||
cd qaup-admin
|
||
mvn spring-boot:run -Dspring-boot.run.profiles=dev
|
||
```
|
||
|
||
3. **验证数据:**
|
||
- 查看后端日志,确认 SDK 登录成功
|
||
- 打开前端页面,查看航班通知实时更新
|
||
- 每10秒应该收到 MU5123 和 CA1234 的更新
|
||
|
||
## 故障排查
|
||
|
||
### 登录失败 803
|
||
- 检查 mock 服务器是否启动
|
||
- 检查用户名密码是否为 `dianxin/dianxin@123`
|
||
- 查看 mock 服务器日志
|
||
|
||
### 接收不到消息
|
||
- 确认启用了 `--auto` 自动推送
|
||
- 检查后端 `adxp-adapter` 配置是否正确
|
||
- 查看 DataCollectorService 日志
|
||
|
||
### 依赖安装失败
|
||
```bash
|
||
# 使用国内镜像
|
||
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple spyne lxml
|
||
```
|