QAUP_Management/tools/README_SOAP.md

2.8 KiB
Raw Blame History

ADXP SOAP Mock Server 使用说明

概述

mock_adxp_soap.py 是数据中台的 SOAP WebService 模拟服务器,用于本地开发测试 SDK 集成。

安装依赖

cd tools
pip3 install -r requirements-soap.txt

或直接安装:

pip3 install spyne lxml

启动服务器

基本启动

python3 mock_adxp_soap.py

启用自动推送每10秒生成一批样例消息

python3 mock_adxp_soap.py --auto --interval 10

自定义地址和端口

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

返回:

<LoginResult>
    <success>true</success>
    <code>200</code>
    <message>登录成功</message>
</LoginResult>

2. receiveMessage()

接收消息队列中的所有消息(接收后清空)

返回:

<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 中配置正确:

data:
  collector:
    adxp-adapter:
      host: localhost
      port: 8086
      username: dianxin
      password: dianxin@123
      reconnect-delay-millis: 3000

或通过环境变量:

export ADXP_SDK_ENABLED=true
export ADXP_SDK_HOST=localhost
export ADXP_SDK_PORT=8086

测试流程

  1. 启动 SOAP mock 服务器:

    cd tools
    python3 mock_adxp_soap.py --auto --interval 10
    
  2. 启动后端应用:

    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 日志

依赖安装失败

# 使用国内镜像
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple spyne lxml