0

0

Java Apache XML-RPC库使用教程

畫卷琴夢

畫卷琴夢

发布时间:2026-01-01 09:11:02

|

649人浏览过

|

来源于php中文网

原创

apache xml-rpc 是一个已停止维护的轻量级纯 java xml-rpc 库,最新版 3.1.3 发布于 2009 年,仅建议用于遗留系统;支持 jdk 1.4+,兼容现代 jdk,但不推荐新项目使用。

java apache xml-rpc库使用教程

Apache XML-RPC 是一个轻量级、纯 Java 实现的 XML-RPC 协议客户端与服务器端库,适合在简单远程调用场景中快速集成。它不依赖 Servlet 容器,可嵌入任意 Java 应用,但已停止维护(最新稳定版为 3.1.3,发布于 2009 年),仅建议用于遗留系统或低复杂度内部工具

添加依赖(Maven)

使用 Maven 管理依赖时,在 pom.xml 中加入:


  org.apache.xmlrpc
  xmlrpc-client
  3.1.3

如需搭建服务端,还需添加 xmlrpc-serverxmlrpc-common 依赖。注意:3.x 版本要求 JDK 1.4+,与现代 JDK(如 17+)兼容性良好,但需避免在新项目中引入。

立即学习Java免费学习笔记(深入)”;

编写简单客户端调用

XML-RPC 调用本质是发送 HTTP POST 请求,参数和返回值自动序列化为 XML。基本步骤如下:

  • 创建 XmlRpcClientConfigImpl 实例,设置服务端 URL(如 http://localhost:8080/RPC2
  • 初始化 XmlRpcClient,传入配置对象
  • 调用 execute() 方法,传入方法名(字符串)和参数列表(Object[])
  • 返回值为 Object 类型,需按约定类型强转(如 Integer、String、HashMap)

示例:调用远程 sample.add 方法计算两数之和:

hkcms双语言响应式科技类通用模板1.0.0
hkcms双语言响应式科技类通用模板1.0.0

hkcms双语言响应式科技类通用模板是使用hkcms开源内容管理系统开发的一套响应式模板。内有新闻列表、新闻详情、单页、产品列表,产品详情页等。1.使用的框架采用HkCms开源内容管理系统v2.2.1版本2. 所需环境Apache/NginxPHP7.2 及以上 + MySQL 5.6 及以上3. 安装教程:1. 打开根目录,导入根目录下的数据库文件2. 站点运行路径填写到public目录下3.

下载

XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL("http://localhost:8080/RPC2"));
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
Object result = client.execute("sample.add", new Object[]{5, 3});
int sum = ((Number) result).intValue(); // 返回值通常是 Number 子类

搭建基础服务端

服务端需注册处理类并启动 HTTP 服务器(推荐使用内置的 Jetty 或外置容器):

  • 定义一个 POJO 类(如 Calculator),方法需 public、非 static、有明确返回值
  • 创建 PropertyHandlerMapping,将方法名前缀(如 sample.)映射到该类
  • XmlRpcServer 注册 handler mapping,再通过 XmlRpcServletJettyWebServer 暴露服务

若使用 Jetty 内嵌(xmlrpc-server 自带支持):

XmlRpcServer server = new XmlRpcServer();
PropertyHandlerMapping phm = new PropertyHandlerMapping();
phm.load(Thread.currentThread().getContextClassLoader(), "handler.properties");
// 或直接注册:phm.addHandler("sample", Calculator.class);
server.setHandlerMapping(phm);
JettyWebServer jetty = new JettyWebServer(8080, server);
jetty.start();

注意事项与常见问题

该库对数据类型支持有限,易出错点集中在:

  • 日期必须用 java.util.Date,不能用 LocalDate / LocalDateTime
  • Map 类型会被转为 struct,key 必须是 String;List 对应 array
  • 异常不会自动传播,服务端抛出异常时,客户端收到的是 XmlRpcException,需检查 message 是否含原始错误信息
  • 中文参数需确保 HTTP 编码为 UTF-8(客户端 config 可设 setEncoding("UTF-8")

不复杂但容易忽略。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

0

2025.09.15

servlet生命周期
servlet生命周期

Servlet生命周期是指Servlet从创建到销毁的整个过程。本专题为大家提供servlet生命周期的各类文章,大家可以免费体验。

390

2023.08.08

数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

313

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

223

2025.10.31

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

118

2026.02.12

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

910

2023.08.02

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1939

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2116

2024.08.01

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

3

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 4.1万人学习

C# 教程
C# 教程

共94课时 | 10.6万人学习

Java 教程
Java 教程

共578课时 | 76.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号