QAUP_Management/tools/README_SOAP.md

151 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```