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

如何修复easy-soap-request报错"axios is not a function"问题?

解决easy-soap-request报"axios is not a function"的问题

可能的原因及对应解决方案

1. 适配axios版本兼容性

easy-soap-request对axios存在版本依赖限制,部分版本的包仅支持特定axios版本。可以先卸载当前axios,安装经用户验证兼容的版本:

npm uninstall axios
npm install axios@0.27.2

2. 修正包内部axios导入方式

如果调整全局axios版本无效,直接修改easy-soap-request源码:

  • 找到项目里的node_modules/easy-soap-request/lib/index.js文件
  • 将原有导入代码const axios = require('axios');替换为:
    const axios = require('axios').default;
    
    若为ES模块环境,改用:
    import axios from 'axios';
    
    这是因为新版本axios默认导出方式变更,而包内部未做适配。

3. 绕开easy-soap-request,直接用axios发SOAP请求

如果以上方法都不生效,直接手动构造SOAP请求:

const axios = require('axios');

async function sendSoapRequest() {
  const url = '你的SOAP接口地址';
  const headers = {
    'Content-Type': 'text/xml;charset=UTF-8',
    // 按需添加其他请求头,比如Authorization等
  };
  const xml = `
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="你的接口命名空间">
       <soapenv:Header/>
       <soapenv:Body>
          <ns:你的请求方法名>
             <ns:参数名1>参数值1</ns:参数名1>
             <ns:参数名2>参数值2</ns:参数名2>
          </ns:你的请求方法名>
       </soapenv:Body>
    </soapenv:Envelope>
  `;

  try {
    const response = await axios.post(url, xml, { headers });
    console.log(response.data);
  } catch (error) {
    console.error(error);
  }
}

sendSoapRequest();

4. 切换easy-soap-request版本

尝试升级或降级easy-soap-request到适配正确的版本,比如安装v4.5.0:

npm uninstall easy-soap-request
npm install easy-soap-request@4.5.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 14:17:15