登录 注册
开发者工具
2,084
Stars
—
Forks
0
Watchers
—
Open Issues
待补全
许可证
Ruby
语言
—
创建时间
最近更新

项目能做什么

适用于 Ruby 的重型 SOAP 客户端。
来源:AI 基于仓库事实生成 · 内容以仓库实际 README 为准

使用说明 查看原始 README 原仓库文档

中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# Savon

Heavy metal SOAP client

[![CI](https://github.com/savonrb/savon/actions/workflows/ci.yml/badge.svg)](https://github.com/savonrb/savon/actions/workflows/ci.yml)
[![Gem Version](https://img.shields.io/gem/v/savon.svg)](https://rubygems.org/gems/savon)
[![Coverage Status](https://coveralls.io/repos/github/savonrb/savon/badge.svg?branch=main)](https://coveralls.io/github/savonrb/savon?branch=main)

Savon is a SOAP client for Ruby. [SOAP is the protocol](https://www.w3.org/TR/soap/) spoken by many enterprise systems. When they hand you a WSDL URL or file instead of a REST spec, it's SOAP. Savon reads the WSDL, maps available operations to Ruby symbols, converts Ruby hashes to SOAP envelopes and turns XML responses into hashes you can work with.

Full documentation is at [savonrb.com](https://savonrb.com).

## Installation

```ruby
gem 'savon', '~> 2.17'
```

## Usage

```ruby
require 'savon'

# Point Savon to a local or remote WSDL document
client = Savon.client(wsdl: 'https://service.example.com?wsdl')

# See what the service exposes
client.operations
# => [:find_user, :create_user]

# Make a request and work with the response
response = client.call(:find_user, message: { id: 42 })
response.body[:find_user_response]
# => { id: 42, name: "Hoff" }

# Savon raises a Savon::SOAPFault when the server returns a SOAP fault
rescue Savon::SOAPFault => e
  puts e.to_hash.dig(:fault, :faultstring)
```

Enable logging to see the raw SOAP envelopes. That's probably the single most useful thing while getting a new integration working:

```ruby
client = Savon.client(
  wsdl: 'https://service.example.com?wsdl',
  pretty_print_xml: true,
  log: true
)
```

### Authentication

Most enterprise services require authentication. Common options:

```ruby
# HTTP basic auth
Savon.client(wsdl: '...', basic_auth: ['user', 'secret'])

# WS-Security (WSSE)
Savon.client(wsdl: '...', wsse_auth: ['user', 'secret', :digest], wsse_timestamp: true)
```

See [Authentication](https://savonrb.com/version2/globals.html) on the website for HTTP digest, NTLM, and certificate-based options.

### Transport

Savon uses [HTTPI](https://github.com/savonrb/httpi) for HTTP by default. Since v2.17.0 you can opt-in to use Faraday by passing `transport: :faraday` which exposes the Faraday connection at `client.faraday` for you to configure. Savon is only adding some SOAP-specifics on top.

### MTOM/XOP attachments

To send a binary file with MTOM, pass a pre-built envelope with an `xop:Include` reference, set `mtom: true`, and give the matching attachment. The Content-ID must match the `cid:` href; set `content_id:` on the attachment when it differs from the filename:

```ruby
client.call(:upload,
  xml: <<~XML,
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
                   xmlns:xop="http://www.w3.org/2004/08/xop/include">
      <soap:Body>
        <tns:upload><tns:file><xop:Include href="cid:doc1@example"/></tns:file></tns:upload>
      </soap:Body>
    </soa
阅读完整原文

项目深度分析 AI 生成

WSDL 解析与 Savon 代码生成/调试工具

产品构想开发一个轻量级 Web 工具或桌面端工具(类似专精 Ruby 的 Postman),用户输入 WSDL URL,自动解析出可用操作、参数结构,支持可视化填写参数并一键生成可直接运行的 Savon(含认证、MTOM 等配置)Ruby 代码及原始 XML 预览。
核心功能WSDL 树形结构解析、可视化表单构造请求、实时查看原始 SOAP XML 请求/响应、一键导出 Savon 客户端代码片段。
目标用户正在开发或调试 SOAP 接口的 Ruby/Rails 开发者。
难度/周期中低 · 2-4周 · 成本:极低(仅需基础静态托管或轻量服务器成本)
收费模式基础解析免费,高级功能(如保存历史记录、团队协作、复杂 WSSE/证书配置模板、批量测试用例生成)采用订阅制或一次性买断(推测)。
竞争风险开发者可能习惯直接用通用工具(如 SoapUI/Postman)或直接看日志调试,付费意愿需验证。
依据 AI推测

SOAP-to-REST 轻量级转换网关(SaaS / 私有化部署)

产品构想基于 Savon 封装一个配置化的中间层网关服务,企业只需上传或配置 WSDL 及认证信息,即可自动将 SOAP 接口暴露为标准的 RESTful JSON API,屏蔽底层 XML 和 SOAP 协议细节。
核心功能WSDL 自动映射为 REST 路由、JSON 与 SOAP Hash 双向转换、内置 Basic/WSSE/NTLM 认证代理、请求日志与错误监控。
目标用户需要将老旧 SOAP 系统能力快速开放给现代前端、移动端或微服务架构的中小企业技术团队。
难度/周期中 · 4-8周 · 成本:低(初期可提供 Docker 镜像私有化部署,减少云资源成本)
收费模式按接口数量或请求量阶梯订阅(SaaS),或按实例/节点收取私有化部署授权费(推测)。
竞争风险Savon 已知限制不支持 WSDL imports,遇到复杂嵌套的第三方 WSDL 可能需要额外适配工作。
依据 尚需验证的假设

企业级 Ruby SOAP 集成咨询与定制维护服务

产品构想利用对 Savon(包括 2.12.1 兼容性、Faraday 传输、MTOM 附件及各类复杂认证)的深入理解,为仍在使用 Ruby 维护核心业务的企业提供 SOAP 接口对接、升级迁移(如升级至 Ruby 3.4+)及疑难杂症排查服务。
核心功能复杂 WSDL 适配、MTOM 大文件传输优化、旧版 Savon 升级兼容、定制化企业认证中间件开发。
目标用户依赖 Ruby 遗留系统对接银行、物流、SAP 等外部 SOAP 服务的企业。
难度/周期低(偏技术服务) · 1-2周即可启动接单 · 成本:极低(个人时间成本)
收费模式按项目报价或按小时收取技术咨询/外包开发费用(推测)。
竞争风险属于时间换钱的模式,规模化受限,且依赖个人获客渠道。
依据 已验证事实
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心

竞品与相似项目 GitHub Search 真实检索

项目中文简介Stars语言
bluenote-1577/savont 中文介绍暂未生成
Amplicon sequencing variants and taxonomic profiling from mo
73 Rust
savonrb/savon_spec 中文介绍暂未生成
Savon testing library
50 Ruby
netwo-io/savon 中文介绍暂未生成
A SOAP client generator for Rust
44 Rust
savonrb/savon_model 中文介绍暂未生成
DEPRECATED: Model for SOAP service oriented applications
37 Ruby
feddelegrand7/savonliquide 中文介绍暂未生成
🧼🧼🧼 Provides a toolbox that allows the user to implement acc
18 R
savonrb/savon-multipart 中文介绍暂未生成
Heavy metal Ruby SOAP client with multipart support
17 Ruby
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。

项目优势与风险

技术成熟度创建时间待补全,最近推送 ,发布过 19 个 Release
社区活跃Star 2,084 / Fork 0 / Issue 0(数据支持,可自行核实)
许可证未检测到(需人工确认)
主要风险上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价

安装与使用

此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。