You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP调用AzerothCore世界服务端SOAP接口获取响应失败咨询

问题排查与解决方案

核心根因

你遇到的瞬间返回Error Fetching http headers报错的核心原因是容器内SOAP服务的绑定地址配置错误:

你在worldserver.conf中将SOAP.IP设为了127.0.0.1,这是容器内部的环回地址,仅允许容器内的程序访问。宿主机请求经过Docker端口转发后,无法路由到容器内绑定到127.0.0.1的SOAP服务,所以TCP连接能建立(不会报无法连接主机错误),但请求发送后会被直接拒绝,触发获取HTTP头失败的报错。

验证步骤

你可以通过以下操作确认根因:

  • 进入运行中的worldserver容器,执行如下命令,验证容器内SOAP服务本身正常:
curl -u acore:password -d '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:AC"><soap:Body><urn:executeCommand><command>.server info</command></urn:executeCommand></soap:Body></soap:Envelope>' -H "Content-Type: text/xml" http://127.0.0.1:7878

正常情况会返回.server info命令的执行结果。

修复方案

  1. 修改worldserver.conf配置文件,将SOAP绑定地址改为允许所有来源访问:
# 原配置
# SOAP.IP = "127.0.0.1"
# 修改后配置
SOAP.IP = "0.0.0.0"
  1. 重启worldserver容器使配置生效。
  2. (可选)如果修改后仍有报错,可以先删除PHP SoapClient配置中的compression参数,部分版本的AzerothCore未开启SOAP压缩支持,会导致请求被拒绝。
  3. (可选)如果返回权限错误,进入worldserver控制台执行如下命令,给调用账号授予最高GM权限:
account set gmlevel acore 3 -1

修改完成后重新运行你的PHP脚本,即可正常获取SOAP接口返回结果。

内容的提问来源于stack exchange,提问作者DanT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:18:04